Scan patterns for lidar systems

ABSTRACT

A lidar system is disclosed. The lidar system can include a light source to produce first and second sets of pulses of light. The system can also include a first lidar sensor with a first scanner to scan the first set of pulses of light along a first scan pattern, and a first receiver to detect scattered light from the first set of pulses of light. The system can also include a second lidar sensor with a second scanner to scan the second set of pulses of light along a second scan pattern, and a second receiver to detect scattered light from the second set of pulses of light. The first scan pattern and the second scan pattern can be at least partially overlapped in an overlap region. The lidar system can also include an enclosure to contain the light source, the first lidar sensor, and the second lidar sensor.

INCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS

Any and all applications for which a foreign or domestic priority claimis identified in the Application Data Sheet as filed with the presentapplication are hereby incorporated by reference under 37 CFR 1.57. Thisapplication is a continuation of U.S. patent application Ser. No.15/466,702, filed Mar. 22, 2017, and entitled “SCAN PATTERNS FOR LIDARSYSTEMS,” which is hereby incorporated by reference herein in itsentirety.

BACKGROUND Technical Field

This disclosure generally relates to lidar systems.

Description of the Related Art

Light detection and ranging (lidar) is a technology that can be used tomeasure distances to remote targets. Typically, a lidar system includesa light source and an optical receiver. The light source can be, forexample, a laser which emits light having a particular operatingwavelength. The operating wavelength of a lidar system may lie, forexample, in the infrared, visible, or ultraviolet portions of theelectromagnetic spectrum. The light source emits light toward a targetwhich then scatters the light. Some of the scattered light is receivedback at the receiver. The system determines the distance to the targetbased on one or more characteristics associated with the returned light.For example, the system may determine the distance to the target basedon the time of flight of a returned light pulse.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example light detection and ranging (lidar)system.

FIG. 2 illustrates an example scan pattern produced by a lidar system.

FIG. 3 illustrates an example lidar system with an example overlapmirror.

FIG. 4 illustrates an example light-source field of view and receiverfield of view for a lidar system.

FIG. 5 illustrates an example sinusoidal scan pattern.

FIG. 6 illustrates an example hybrid scan pattern.

FIG. 7 illustrates two example overlapping scan patterns.

FIGS. 8-9 each illustrate a top view of a vehicle with two lidar systemsthat produce two example overlapping scan patterns.

FIG. 10 illustrates an example targeted scan region.

FIG. 11 illustrates an example scan pattern that includes an exampletargeted scan region.

FIGS. 12-13 each illustrate an example Lissajous scan pattern.

FIGS. 14-16 illustrate three successive stages of an examplequasi-non-repeating Lissajous scan pattern.

FIGS. 17-18 each illustrate an example enclosure that contains two lidarsensors.

FIG. 19 illustrates two example scan patterns which are out ofsynchronization with respect to one another.

FIG. 20 illustrates two example scan-pattern y-components which areinverted with respect to one another.

FIG. 21 illustrates two example scan-pattern y-components which areoffset from one another by a phase shift Δφ_(y).

FIG. 22 illustrates two example scan-pattern x-components which areoffset from one another by a phase shift Δφ_(x).

FIG. 23 illustrates two example scan patterns.

FIG. 24 illustrates an example computer system.

DETAILED DESCRIPTION

FIG. 1 illustrates an example light detection and ranging (lidar) system100. In particular embodiments, a lidar system 100 may be referred to asa laser ranging system, a laser radar system, a LIDAR system, a lidarsensor, or a laser detection and ranging (LADAR or ladar) system. Inparticular embodiments, a lidar system 100 may include a light source110, mirror 115, scanner 120, receiver 140, or controller 150. The lightsource 110 may be, for example, a laser which emits light having aparticular operating wavelength in the infrared, visible, or ultravioletportions of the electromagnetic spectrum. As an example, light source110 may include a laser with an operating wavelength betweenapproximately 1.2 μm and 1.7 μm. The light source 110 emits an outputbeam of light 125 which may be continuous-wave, pulsed, or modulated inany suitable manner for a given application. The output beam of light125 is directed downrange toward a remote target 130. As an example, theremote target 130 may be located a distance D of approximately 1 m to 1km from the lidar system 100.

Once the output beam 125 reaches the downrange target 130, the targetmay scatter or reflect at least a portion of light from the output beam125, and some of the scattered or reflected light may return toward thelidar system 100. In the example of FIG. 1, the scattered or reflectedlight is represented by input beam 135, which passes through scanner 120and is directed by mirror 115 to receiver 140. In particularembodiments, a relatively small fraction of the light from output beam125 may return to the lidar system 100 as input beam 135. As an example,the ratio of input beam 135 average power, peak power, or pulse energyto output beam 125 average power, peak power, or pulse energy may beapproximately 10⁻¹, 10⁻², 10⁻³, 10⁻⁴, 10⁻⁵, 10⁻⁶, 10⁻⁷, 10⁻⁸, 10⁻⁹,10⁻¹⁰, 10⁻¹¹, or 10⁻¹². As another example, if a pulse of output beam125 has a pulse energy of 1 microjoule (μJ), then the pulse energy of acorresponding pulse of input beam 135 may have a pulse energy ofapproximately 10 nanojoules (nJ), 1 nJ, 100 picojoules (pJ), 10 pJ, 1pJ, 100 femtojoules (fJ), 10 fJ, 1 fJ, 100 attojoules (aJ), 10 aJ, or 1aJ. In particular embodiments, output beam 125 may be referred to as alaser beam, light beam, optical beam, emitted beam, or beam. Inparticular embodiments, input beam 135 may be referred to as a returnbeam, received beam, return light, received light, input light,scattered light, or reflected light. As used herein, scattered light mayrefer to light that is scattered or reflected by a target 130. As anexample, an input beam 135 may include: light from the output beam 125that is scattered by target 130; light from the output beam 125 that isreflected by target 130; or a combination of scattered and reflectedlight from target 130.

In particular embodiments, receiver 140 may receive or detect photonsfrom input beam 135 and generate one or more representative signals. Forexample, the receiver 140 may generate an output electrical signal 145that is representative of the input beam 135. This electrical signal 145may be sent to controller 150. In particular embodiments, controller 150may include a processor, computing system (e.g., an ASIC or FPGA), orother suitable circuitry configured to analyze one or morecharacteristics of the electrical signal 145 from the receiver 140 todetermine one or more characteristics of the target 130, such as itsdistance downrange from the lidar system 100. This can be done, forexample, by analyzing the time of flight or phase modulation for a beamof light 125 transmitted by the light source 110. If lidar system 100measures a time of flight of T (e.g., T represents a round-trip time offlight for an emitted pulse of light to travel from the lidar system 100to the target 130 and back to the lidar system 100), then the distance Dfrom the target 130 to the lidar system 100 may be expressed as D=c·T/2,where c is the speed of light (approximately 3.0×10⁸ m/s). As anexample, if a time of flight is measured to be T=300 ns, then thedistance from the target 130 to the lidar system 100 may be determinedto be approximately D=45.0 m. As another example, if a time of flight ismeasured to be T=1.33 μs, then the distance from the target 130 to thelidar system 100 may be determined to be approximately D=199.5 m. Inparticular embodiments, a distance D from lidar system 100 to a target130 may be referred to as a distance, depth, or range of target 130. Asused herein, the speed of light c refers to the speed of light in anysuitable medium, such as for example in air, water, or vacuum. As anexample, the speed of light in vacuum is approximately 2.9979×10⁸ m/s,and the speed of light in air (which has a refractive index ofapproximately 1.0003) is approximately 2.9970×10⁸ m/s.

In particular embodiments, light source 110 may include a pulsed laser.As an example, light source 110 may be a pulsed laser configured toproduce or emit pulses of light with a pulse duration or pulse width ofapproximately 10 picoseconds (ps) to 20 nanoseconds (ns). As anotherexample, light source 110 may be a pulsed laser that produces pulseswith a pulse duration of approximately 200-400 ps. As another example,light source 110 may be a pulsed laser that produces pulses at a pulserepetition frequency of approximately 100 kHz to 5 MHz or a pulse period(e.g., a time between consecutive pulses) of approximately 200 ns to 10μs. In particular embodiments, light source 110 may have a substantiallyconstant pulse repetition frequency, or light source 110 may have avariable or adjustable pulse repetition frequency. As an example, lightsource 110 may be a pulsed laser that produces pulses at a substantiallyconstant pulse repetition frequency of approximately 640 kHz (e.g.,640,000 pulses per second), corresponding to a pulse period ofapproximately 1.56 μs. As another example, light source 110 may have apulse repetition frequency that can be varied from approximately 500 kHzto 3 MHz. As used herein, a pulse of light may be referred to as anoptical pulse, a light pulse, or a pulse.

In particular embodiments, light source 110 may produce a free-spaceoutput beam 125 having any suitable average optical power, and theoutput beam 125 may have optical pulses with any suitable pulse energyor peak optical power. As an example, output beam 125 may have anaverage power of approximately 1 mW, 10 mW, 100 mW, 1 W, 10 W, or anyother suitable average power. As another example, output beam 125 mayinclude pulses with a pulse energy of approximately 0.1 μJ, 1 μJ, 10 μJ,100 μJ, 1 mJ, or any other suitable pulse energy. As another example,output beam 125 may include pulses with a peak power of approximately 10W, 100 W, 1 kW, 5 kW, 10 kW, or any other suitable peak power. Anoptical pulse with a duration of 400 ps and a pulse energy of 1 μJ has apeak power of approximately 2.5 kW. If the pulse repetition frequency is500 kHz, then the average power of an output beam 125 with 1-μJ pulsesis approximately 0.5 W.

In particular embodiments, light source 110 may include a laser diode,such as for example, a Fabry-Perot laser diode, a quantum well laser, adistributed Bragg reflector (DBR) laser, a distributed feedback (DFB)laser, or a vertical-cavity surface-emitting laser (VCSEL). As anexample, light source 110 may include an aluminum-gallium-arsenide(AlGaAs) laser diode, an indium-gallium-arsenide (InGaAs) laser diode,or an indium-gallium-arsenide-phosphide (InGaAsP) laser diode. Inparticular embodiments, light source 110 may include a pulsed laserdiode with a peak emission wavelength of approximately 1400-1600 nm. Asan example, light source 110 may include a laser diode that is currentmodulated to produce optical pulses. In particular embodiments, lightsource 110 may include a pulsed laser diode followed by one or moreoptical-amplification stages. As an example, light source 110 may be afiber-laser module that includes a current-modulated laser diode with apeak wavelength of approximately 1550 nm followed by a single-stage or amulti-stage erbium-doped fiber amplifier (EDFA). As another example,light source 110 may include a continuous-wave (CW) or quasi-CW laserdiode followed by an external optical modulator (e.g., an electro-opticmodulator), and the output of the modulator may be fed into an opticalamplifier.

In particular embodiments, an output beam of light 125 emitted by lightsource 110 may be a collimated optical beam with any suitable beamdivergence, such as for example, a divergence of approximately 0.1 to3.0 milliradian (mrad). A divergence of output beam 125 may refer to anangular measure of an increase in beam size (e.g., a beam radius or beamdiameter) as output beam 125 travels away from light source 110 or lidarsystem 100. In particular embodiments, output beam 125 may have asubstantially circular cross section with a beam divergencecharacterized by a single divergence value. As an example, an outputbeam 125 with a circular cross section and a divergence of 1 mrad mayhave a beam diameter or spot size of approximately 10 cm at a distanceof 100 m from lidar system 100. In particular embodiments, output beam125 may be an astigmatic beam or may have a substantially ellipticalcross section and may be characterized by two divergence values. As anexample, output beam 125 may have a fast axis and a slow axis, where thefast-axis divergence is greater than the slow-axis divergence. Asanother example, output beam 125 may be an astigmatic beam with afast-axis divergence of 2 mrad and a slow-axis divergence of 0.5 mrad.

In particular embodiments, an output beam of light 125 emitted by lightsource 110 may be unpolarized or randomly polarized, may have nospecific or fixed polarization (e.g., the polarization may vary withtime), or may have a particular polarization (e.g., output beam 125 maybe linearly polarized, elliptically polarized, or circularly polarized).As an example, light source 110 may produce linearly polarized light,and lidar system 100 may include a quarter-wave plate that converts thislinearly polarized light into circularly polarized light. The circularlypolarized light may be transmitted as output beam 125, and lidar system100 may receive input beam 135, which may be substantially or at leastpartially circularly polarized in the same manner as the output beam 125(e.g., if output beam 125 is right-hand circularly polarized, then inputbeam 135 may also be right-hand circularly polarized). The input beam135 may pass through the same quarter-wave plate (or a differentquarter-wave plate) resulting in the input beam 135 being converted tolinearly polarized light which is orthogonally polarized (e.g.,polarized at a right angle) with respect to the linearly polarized lightproduced by light source 110. As another example, lidar system 100 mayemploy polarization-diversity detection where two polarizationcomponents are detected separately. The output beam 125 may be linearlypolarized, and the lidar system 100 may split the input beam 135 intotwo polarization components (e.g., s-polarization and p-polarization)which are detected separately by two photodiodes (e.g., a balancedphotoreceiver that includes two photodiodes).

In particular embodiments, lidar system 100 may include one or moreoptical components configured to condition, shape, filter, modify,steer, or direct the output beam 125 or the input beam 135. As anexample, lidar system 100 may include one or more lenses, mirrors,filters (e.g., bandpass or interference filters), beam splitters,polarizers, polarizing beam splitters, wave plates (e.g., half-wave orquarter-wave plates), diffractive elements, or holographic elements. Inparticular embodiments, lidar system 100 may include a telescope, one ormore lenses, or one or more mirrors to expand, focus, or collimate theoutput beam 125 to a desired beam diameter or divergence. As an example,the lidar system 100 may include one or more lenses to focus the inputbeam 135 onto an active region of receiver 140. As another example, thelidar system 100 may include one or more flat mirrors or curved mirrors(e.g., concave, convex, or parabolic mirrors) to steer or focus theoutput beam 125 or the input beam 135. For example, the lidar system 100may include an off-axis parabolic mirror to focus the input beam 135onto an active region of receiver 140. As illustrated in FIG. 1, thelidar system 100 may include mirror 115 (which may be a metallic ordielectric mirror), and mirror 115 may be configured so that light beam125 passes through the mirror 115. As an example, mirror 115 (which maybe referred to as an overlap mirror, superposition mirror, orbeam-combiner mirror) may include a hole, slot, or aperture which outputlight beam 125 passes through. As another example, mirror 115 may beconfigured so that at least 80% of output beam 125 passes through mirror115 and at least 80% of input beam 135 is reflected by mirror 115. Inparticular embodiments, mirror 115 may provide for output beam 125 andinput beam 135 to be substantially coaxial so that the two beams travelalong substantially the same optical path (albeit in oppositedirections).

In particular embodiments, lidar system 100 may include a scanner 120 tosteer the output beam 125 in one or more directions downrange. As anexample, scanner 120 may include one or more scanning mirrors that areconfigured to rotate, tilt, pivot, or move in an angular manner aboutone or more axes. In particular embodiments, a flat scanning mirror maybe attached to a scanner actuator or mechanism which scans the mirrorover a particular angular range. As an example, scanner 120 may includea galvanometer scanner, a resonant scanner, a piezoelectric actuator, apolygonal scanner, a rotating-prism scanner, a voice coil motor, a DCmotor, a stepper motor, or a microelectromechanical systems (MEMS)device, or any other suitable actuator or mechanism. In particularembodiments, scanner 120 may be configured to scan the output beam 125over a 5-degree angular range, 20-degree angular range, 30-degreeangular range, 60-degree angular range, or any other suitable angularrange. As an example, a scanning mirror may be configured toperiodically rotate over a 15-degree range, which results in the outputbeam 125 scanning across a 30-degree range (e.g., a Θ-degree rotation bya scanning mirror results in a 2Θ-degree angular scan of output beam125). In particular embodiments, a field of regard (FOR) of a lidarsystem 100 may refer to an area, region, or angular range over which thelidar system 100 may be configured to scan or capture distanceinformation. As an example, a lidar system 100 with an output beam 125with a 30-degree scanning range may be referred to as having a 30-degreeangular field of regard. As another example, a lidar system 100 with ascanning mirror that rotates over a 30-degree range may produce anoutput beam 125 that scans across a 60-degree range (e.g., a 60-degreeFOR). In particular embodiments, lidar system 100 may have a FOR ofapproximately 10°, 20°, 40°, 60°, 120°, or any other suitable FOR. Inparticular embodiments, a FOR may be referred to as a scan region.

In particular embodiments, scanner 120 may be configured to scan theoutput beam 125 horizontally and vertically, and lidar system 100 mayhave a particular FOR along the horizontal direction and anotherparticular FOR along the vertical direction. As an example, lidar system100 may have a horizontal FOR of 10° to 120° and a vertical FOR of 2° to45°. In particular embodiments, scanner 120 may include a first mirrorand a second mirror, where the first mirror directs the output beam 125toward the second mirror, and the second mirror directs the output beam125 downrange. As an example, the first mirror may scan the output beam125 along a first direction, and the second mirror may scan the outputbeam 125 along a second direction that is substantially orthogonal tothe first direction. As another example, the first mirror may scan theoutput beam 125 along a substantially horizontal direction, and thesecond mirror may scan the output beam 125 along a substantiallyvertical direction (or vice versa). In particular embodiments, scanner120 may be referred to as a beam scanner, optical scanner, or laserscanner.

In particular embodiments, one or more scanning mirrors may becommunicatively coupled to controller 150 which may control the scanningmirror(s) so as to guide the output beam 125 in a desired directiondownrange or along a desired scan pattern. In particular embodiments, ascan pattern (which may be referred to as an optical scan pattern,optical scan path, or scan path) may refer to a pattern or path alongwhich the output beam 125 is directed. As an example, scanner 120 mayinclude two scanning mirrors configured to scan the output beam 125across a 60° horizontal FOR and a 20° vertical FOR. The two scannermirrors may be controlled to follow a scan path that substantiallycovers the 60°×20° FOR. As an example, the scan path may result in apoint cloud with pixels that substantially cover the 60°×20° FOR. Thepixels may be approximately evenly distributed across the 60°×20° FOR.Alternately, the pixels may have a particular nonuniform distribution(e.g., the pixels may be distributed across all or a portion of the60°×20° FOR, and the pixels may have a higher density in one or moreparticular regions of the 60°×20° FOR).

In particular embodiments, a light source 110 may emit pulses of lightwhich are scanned by scanner 120 across a FOR of lidar system 100. Oneor more of the emitted pulses of light may be scattered by a target 130located downrange from the lidar system 100, and a receiver 140 maydetect at least a portion of the pulses of light scattered by the target130. In particular embodiments, receiver 140 may be referred to as aphotoreceiver, optical receiver, optical sensor, detector,photodetector, or optical detector. In particular embodiments, lidarsystem 100 may include a receiver 140 that receives or detects at leasta portion of input beam 135 and produces an electrical signal thatcorresponds to input beam 135. As an example, if input beam 135 includesan optical pulse, then receiver 140 may produce an electrical current orvoltage pulse that corresponds to the optical pulse detected by receiver140. As another example, receiver 140 may include one or more avalanchephotodiodes (APDs) or one or more single-photon avalanche diodes(SPADs). As another example, receiver 140 may include one or more PNphotodiodes (e.g., a photodiode structure formed by a p-typesemiconductor and a n-type semiconductor) or one or more PIN photodiodes(e.g., a photodiode structure formed by an undoped intrinsicsemiconductor region located between p-type and n-type regions).Receiver 140 may have an active region or an avalanche-multiplicationregion that includes silicon, germanium, or InGaAs. The active region ofreceiver 140 may have any suitable size, such as for example, a diameteror width of approximately 50-500 μm. In particular embodiments, receiver140 may include circuitry that performs signal amplification, sampling,filtering, signal conditioning, analog-to-digital conversion,time-to-digital conversion, pulse detection, threshold detection,rising-edge detection, or falling-edge detection. As an example,receiver 140 may include a transimpedance amplifier that converts areceived photocurrent (e.g., a current produced by an APD in response toa received optical signal) into a voltage signal. The voltage signal maybe sent to pulse-detection circuitry that produces an analog or digitaloutput signal 145 that corresponds to one or more characteristics (e.g.,rising edge, falling edge, amplitude, or duration) of a received opticalpulse. As an example, the pulse-detection circuitry may perform atime-to-digital conversion to produce a digital output signal 145. Theelectrical output signal 145 may be sent to controller 150 forprocessing or analysis (e.g., to determine a time-of-flight valuecorresponding to a received optical pulse).

In particular embodiments, controller 150 may be electrically coupled orcommunicatively coupled to light source 110, scanner 120, or receiver140. As an example, controller 150 may receive electrical trigger pulsesor edges from light source 110, where each pulse or edge corresponds tothe emission of an optical pulse by light source 110. As anotherexample, controller 150 may provide instructions, a control signal, or atrigger signal to light source 110 indicating when light source 110should produce optical pulses. Controller 150 may send an electricaltrigger signal that includes electrical pulses, where each electricalpulse results in the emission of an optical pulse by light source 110.In particular embodiments, the frequency, period, duration, pulseenergy, peak power, average power, or wavelength of the optical pulsesproduced by light source 110 may be adjusted based on instructions, acontrol signal, or trigger pulses provided by controller 150. Inparticular embodiments, controller 150 may be coupled to light source110 and receiver 140, and controller 150 may determine a time-of-flightvalue for an optical pulse based on timing information associated withwhen the pulse was emitted by light source 110 and when a portion of thepulse (e.g., input beam 135) was detected or received by receiver 140.In particular embodiments, controller 150 may include circuitry thatperforms signal amplification, sampling, filtering, signal conditioning,analog-to-digital conversion, time-to-digital conversion, pulsedetection, threshold detection, rising-edge detection, or falling-edgedetection.

In particular embodiments, a lidar system 100 may be used to determinethe distance to one or more downrange targets 130. By scanning the lidarsystem 100 across a field of regard, the system can be used to map thedistance to a number of points within the field of regard. Each of thesedepth-mapped points may be referred to as a pixel. A collection ofpixels captured in succession (which may be referred to as a depth map,a point cloud, or a frame) may be rendered as an image or may beanalyzed to identify or detect objects or to determine a shape ordistance of objects within the FOR. As an example, a depth map may covera field of regard that extends 60° horizontally and 15° vertically, andthe depth map may include a frame of 100-2000 pixels in the horizontaldirection by 4-400 pixels in the vertical direction.

In particular embodiments, lidar system 100 may be configured torepeatedly capture or generate point clouds of a field of regard at anysuitable frame rate between approximately 0.1 frames per second (FPS)and approximately 1,000 FPS. As an example, lidar system 100 maygenerate point clouds at a frame rate of approximately 0.1 FPS, 0.5 FPS,1 FPS, 2 FPS, 5 FPS, 10 FPS, 20 FPS, 100 FPS, 500 FPS, or 1,000 FPS. Asanother example, lidar system 100 may be configured to produce opticalpulses at a rate of 5×10⁵ pulses/second (e.g., the system may determine500,000 pixel distances per second) and scan a frame of 1000×50 pixels(e.g., 50,000 pixels/frame), which corresponds to a point-cloud framerate of 10 frames per second (e.g., 10 point clouds per second). Inparticular embodiments, a point-cloud frame rate may be substantiallyfixed, or a point-cloud frame rate may be dynamically adjustable. As anexample, a lidar system 100 may capture one or more point clouds at aparticular frame rate (e.g., 1 Hz) and then switch to capture one ormore point clouds at a different frame rate (e.g., 10 Hz). A slowerframe rate (e.g., 1 Hz) may be used to capture one or morehigh-resolution point clouds, and a faster frame rate (e.g., 10 Hz) maybe used to rapidly capture multiple lower-resolution point clouds.

In particular embodiments, a lidar system 100 may be configured tosense, identify, or determine distances to one or more targets 130within a field of regard. As an example, a lidar system 100 maydetermine a distance to a target 130, where all or part of the target130 is contained within a field of regard of the lidar system 100. Allor part of a target 130 being contained within a FOR of the lidar system100 may refer to the FOR overlapping, encompassing, or enclosing atleast a portion of the target 130. In particular embodiments, target 130may include all or part of an object that is moving or stationaryrelative to lidar system 100. As an example, target 130 may include allor a portion of a person, vehicle, motorcycle, truck, train, bicycle,wheelchair, pedestrian, animal, road sign, traffic light, lane marking,road-surface marking, parking space, pylon, guard rail, traffic barrier,pothole, railroad crossing, obstacle in or near a road, curb, stoppedvehicle on or beside a road, utility pole, house, building, trash can,mailbox, tree, any other suitable object, or any suitable combination ofall or part of two or more objects.

In particular embodiments, one or more lidar systems 100 may beintegrated into a vehicle. As an example, multiple lidar systems 100 maybe integrated into a car to provide a complete 360-degree horizontal FORaround the car. As another example, 6-10 lidar systems 100, each systemhaving a 45-degree to 90-degree horizontal FOR, may be combined togetherto form a sensing system that provides a point cloud covering a360-degree horizontal FOR. The lidar systems 100 may be oriented so thatadjacent FORs have an amount of spatial or angular overlap to allow datafrom the multiple lidar systems 100 to be combined or stitched togetherto form a single or continuous 360-degree point cloud. As an example,the FOR of each lidar system 100 may have approximately 1-15 degrees ofoverlap with an adjacent FOR. In particular embodiments, a vehicle mayrefer to a mobile machine configured to transport people or cargo. Forexample, a vehicle may include, may take the form of, or may be referredto as a car, automobile, motor vehicle, truck, bus, van, trailer,off-road vehicle, farm vehicle, lawn mower, construction equipment, golfcart, motorhome, taxi, motorcycle, scooter, bicycle, skateboard, train,snowmobile, watercraft (e.g., a ship or boat), aircraft (e.g., afixed-wing aircraft, helicopter, or dirigible), or spacecraft. Inparticular embodiments, a vehicle may include an internal combustionengine or an electric motor that provides propulsion for the vehicle.

In particular embodiments, one or more lidar systems 100 may be includedin a vehicle as part of an advanced driver assistance system (ADAS) toassist a driver of the vehicle in the driving process. For example, alidar system 100 may be part of an ADAS that provides information orfeedback to a driver (e.g., to alert the driver to potential problems orhazards) or that automatically takes control of part of a vehicle (e.g.,a braking system or a steering system) to avoid collisions or accidents.A lidar system 100 may be part of a vehicle ADAS that provides adaptivecruise control, automated braking, automated parking, collisionavoidance, alerts the driver to hazards or other vehicles, maintains thevehicle in the correct lane, or provides a warning if an object oranother vehicle is in a blind spot.

In particular embodiments, one or more lidar systems 100 may beintegrated into a vehicle as part of an autonomous-vehicle drivingsystem. As an example, a lidar system 100 may provide information aboutthe surrounding environment to a driving system of an autonomousvehicle. An autonomous-vehicle driving system may include one or morecomputing systems that receive information from a lidar system 100 aboutthe surrounding environment, analyze the received information, andprovide control signals to the vehicle's driving systems (e.g., steeringwheel, accelerator, brake, or turn signal). As an example, a lidarsystem 100 integrated into an autonomous vehicle may provide anautonomous-vehicle driving system with a point cloud every 0.1 seconds(e.g., the point cloud has a 10 Hz update rate, representing 10 framesper second). The autonomous-vehicle driving system may analyze thereceived point clouds to sense or identify targets 130 and theirrespective locations, distances, or speeds, and the autonomous-vehicledriving system may update control signals based on this information. Asan example, if lidar system 100 detects a vehicle ahead that is slowingdown or stopping, the autonomous-vehicle driving system may sendinstructions to release the accelerator and apply the brakes.

In particular embodiments, an autonomous vehicle may be referred to asan autonomous car, driverless car, self-driving car, robotic car, orunmanned vehicle. In particular embodiments, an autonomous vehicle mayrefer to a vehicle configured to sense its environment and navigate ordrive with little or no human input. As an example, an autonomousvehicle may be configured to drive to any suitable location and controlor perform all safety-critical functions (e.g., driving, steering,braking, parking) for the entire trip, with the driver not expected tocontrol the vehicle at any time. As another example, an autonomousvehicle may allow a driver to safely turn their attention away fromdriving tasks in particular environments (e.g., on freeways), or anautonomous vehicle may provide control of a vehicle in all but a fewenvironments, requiring little or no input or attention from the driver.

In particular embodiments, an autonomous vehicle may be configured todrive with a driver present in the vehicle, or an autonomous vehicle maybe configured to operate the vehicle with no driver present. As anexample, an autonomous vehicle may include a driver's seat withassociated controls (e.g., steering wheel, accelerator pedal, and brakepedal), and the vehicle may be configured to drive with no one seated inthe driver's seat or with little or no input from a person seated in thedriver's seat. As another example, an autonomous vehicle may not includeany driver's seat or associated driver's controls, and the vehicle mayperform substantially all driving functions (e.g., driving, steering,braking, parking, and navigating) without human input. As anotherexample, an autonomous vehicle may be configured to operate without adriver (e.g., the vehicle may be configured to transport humanpassengers or cargo without a driver present in the vehicle). As anotherexample, an autonomous vehicle may be configured to operate without anyhuman passengers (e.g., the vehicle may be configured for transportationof cargo without having any human passengers onboard the vehicle).

FIG. 2 illustrates an example scan pattern 200 produced by a lidarsystem 100. In particular embodiments, a lidar system 100 may beconfigured to scan output optical beam 125 along one or more particularscan patterns 200. In particular embodiments, a scan pattern 200 mayscan across any suitable field of regard (FOR) having any suitablehorizontal FOR (FOR_(H)) and any suitable vertical FOR (FOR_(V)). Forexample, a scan pattern 200 may have a field of regard represented byangular dimensions (e.g., FOR_(H)×FOR_(V)) 40°×30°, 90°×40°, or 60°×15°.As another example, a scan pattern 200 may have a FOR_(H) greater thanor equal to 10°, 25°, 30°, 40°, 60°, 90°, or 120°. As another example, ascan pattern 200 may have a FOR_(V) greater than or equal to 2°, 5°,10°, 15°, 20°, 30°, or 45°. In the example of FIG. 2, reference line 220represents a center of the field of regard of scan pattern 200. Inparticular embodiments, reference line 220 may have any suitableorientation, such as for example, a horizontal angle of 0° (e.g.,reference line 220 may be oriented straight ahead) and a vertical angleof 0° (e.g., reference line 220 may have an inclination of 0°), orreference line 220 may have a nonzero horizontal angle or a nonzeroinclination (e.g., a vertical angle of +10° or −10°). In FIG. 2, if thescan pattern 200 has a 60°×15° field of regard, then scan pattern 200covers a ±30° horizontal range with respect to reference line 220 and a±7.5° vertical range with respect to reference line 220. Additionally,optical beam 125 in FIG. 2 has an orientation of approximately −15°horizontal and +3° vertical with respect to reference line 220. Opticalbeam 125 may be referred to as having an azimuth of −15° and an altitudeof +3° relative to reference line 220. In particular embodiments, anazimuth (which may be referred to as an azimuth angle) may represent ahorizontal angle with respect to reference line 220, and an altitude(which may be referred to as an altitude angle, elevation, or elevationangle) may represent a vertical angle with respect to reference line220.

In particular embodiments, a scan pattern 200 may include multiplepixels 210, and each pixel 210 may be associated with one or more laserpulses and one or more corresponding distance measurements. Inparticular embodiments, a cycle of scan pattern 200 may include a totalof P_(x)×P_(y) pixels 210 (e.g., a two-dimensional distribution of P_(x)by P_(y) pixels). As an example, scan pattern 200 may include adistribution with dimensions of approximately 100-2,000 pixels 210 alonga horizontal direction and approximately 4-400 pixels 210 along avertical direction. As another example, scan pattern 200 may include adistribution of 1,000 pixels 210 along the horizontal direction by 64pixels 210 along the vertical direction (e.g., the frame size is 1000×64pixels) for a total of 64,000 pixels per cycle of scan pattern 200. Inparticular embodiments, the number of pixels 210 along a horizontaldirection may be referred to as a horizontal resolution of scan pattern200, and the number of pixels 210 along a vertical direction may bereferred to as a vertical resolution. As an example, scan pattern 200may have a horizontal resolution of greater than or equal to 100 pixels210 and a vertical resolution of greater than or equal to 4 pixels 210.As another example, scan pattern 200 may have a horizontal resolution of100-2,000 pixels 210 and a vertical resolution of 4-400 pixels 210.

In particular embodiments, each pixel 210 may be associated with adistance (e.g., a distance to a portion of a target 130 from which anassociated laser pulse was scattered) or one or more angular values. Asan example, a pixel 210 may be associated with a distance value and twoangular values (e.g., an azimuth and altitude) that represent theangular location of the pixel 210 with respect to the lidar system 100.A distance to a portion of target 130 may be determined based at leastin part on a time-of-flight measurement for a corresponding pulse. Anangular value (e.g., an azimuth or altitude) may correspond to an angle(e.g., relative to reference line 220) of output beam 125 (e.g., when acorresponding pulse is emitted from lidar system 100) or an angle ofinput beam 135 (e.g., when an input signal is received by lidar system100). In particular embodiments, an angular value may be determinedbased at least in part on a position of a component of scanner 120. Asan example, an azimuth or altitude value associated with a pixel 210 maybe determined from an angular position of one or more correspondingscanning mirrors of scanner 120.

FIG. 3 illustrates an example lidar system 100 with an example overlapmirror 115. In particular embodiments, a lidar system 100 may include alight source 110 configured to emit pulses of light and a scanner 120configured to scan at least a portion of the emitted pulses of lightacross a field of regard. As an example, the light source 110 mayinclude a pulsed solid-state laser or a pulsed fiber laser, and theoptical pulses produced by the light source 110 may be directed throughaperture 310 of overlap mirror 115 and then coupled to scanner 120. Inparticular embodiments, a lidar system 100 may include a receiver 140configured to detect at least a portion of the scanned pulses of lightscattered by a target 130 located a distance D from the lidar system100. As an example, one or more pulses of light that are directeddownrange from lidar system 100 by scanner 120 (e.g., as part of outputbeam 125) may scatter off a target 130, and a portion of the scatteredlight may propagate back to the lidar system 100 (e.g., as part of inputbeam 135) and be detected by receiver 140.

In particular embodiments, lidar system 100 may include one or moreprocessors (e.g., controller 150) configured to determine a distance Dfrom the lidar system 100 to a target 130 based at least in part on around-trip time of flight for an emitted pulse of light to travel fromthe lidar system 100 to the target 130 and back to the lidar system 100.The target 130 may be at least partially contained within a field ofregard of the lidar system 100 and located a distance D from the lidarsystem 100 that is less than or equal to a maximum range R_(MAX) of thelidar system 100. In particular embodiments, a maximum range (which maybe referred to as a maximum distance) of a lidar system 100 may refer tothe maximum distance over which the lidar system 100 is configured tosense or identify targets 130 that appear in a field of regard of thelidar system 100. The maximum range of lidar system 100 may be anysuitable distance, such as for example, 25 m, 50 m, 100 m, 200 m, 500 m,or 1 km. As an example, a lidar system 100 with a 200-m maximum rangemay be configured to sense or identify various targets 130 located up to200 m away from the lidar system 100. For a lidar system 100 with a200-m maximum range (R_(MAX)=200 m), the time of flight corresponding tothe maximum range is approximately 2·R_(MAX)/c≅1.33 μs.

In particular embodiments, light source 110, scanner 120, and receiver140 may be packaged together within a single housing, where a housingmay refer to a box, case, or enclosure that holds or contains all orpart of a lidar system 100. As an example, a lidar-system enclosure maycontain a light source 110, overlap mirror 115, scanner 120, andreceiver 140 of a lidar system 100. Additionally, the lidar-systemenclosure may include a controller 150, or a controller 150 may belocated remotely from the enclosure. The lidar-system enclosure may alsoinclude one or more electrical connections for conveying electricalpower or electrical signals to or from the enclosure.

In particular embodiments, light source 110 may include an eye-safelaser. An eye-safe laser may refer to a laser with an emissionwavelength, average power, peak power, peak intensity, pulse energy,beam size, beam divergence, or exposure time such that emitted lightfrom the laser presents little or no possibility of causing damage to aperson's eyes. As an example, light source 110 may be classified as aClass 1 laser product (as specified by the 60825-1 standard of theInternational Electrotechnical Commission (IEC)) or a Class I laserproduct (as specified by Title 21, Section 1040.10 of the United StatesCode of Federal Regulations (CFR)) that is safe under all conditions ofnormal use. In particular embodiments, light source 110 may include aneye-safe laser (e.g., a Class 1 or a Class I laser) configured tooperate at any suitable wavelength between approximately 1400 nm andapproximately 2100 nm. As an example, light source 110 may include aneye-safe laser with an operating wavelength between approximately 1400nm and approximately 1600 nm. As another example, light source 110 mayinclude an eye-safe laser with an operating wavelength betweenapproximately 1530 nm and approximately 1560 nm. As another example,light source 110 may include an eye-safe fiber laser or solid-statelaser with an operating wavelength between approximately 1400 nm andapproximately 1600 nm.

In particular embodiments, scanner 120 may include one or more mirrors,where each mirror is mechanically driven by a galvanometer scanner, aresonant scanner, a MEMS device, a voice coil motor, or any suitablecombination thereof. A galvanometer scanner (which may be referred to asa galvanometer actuator) may include a galvanometer-based scanning motorwith a magnet and coil. When an electrical current is supplied to thecoil, a rotational force is applied to the magnet, which causes a mirrorattached to the galvanometer scanner to rotate. The electrical currentsupplied to the coil may be controlled to dynamically change theposition of the galvanometer mirror. A resonant scanner (which may bereferred to as a resonant actuator) may include a spring-like mechanismdriven by an actuator to produce a periodic oscillation at asubstantially fixed frequency (e.g., 1 kHz). A MEMS-based scanningdevice may include a mirror with a diameter between approximately 1 and10 mm, where the mirror is rotated using electromagnetic orelectrostatic actuation. A voice coil motor (which may be referred to asa voice coil actuator) may include a magnet and coil. When an electricalcurrent is supplied to the coil, a translational force is applied to themagnet, which causes a mirror attached to the magnet to move or rotate.

In particular embodiments, a scanner 120 may include any suitable numberof mirrors driven by any suitable number of mechanical actuators. As anexample, a scanner 120 may include a single mirror configured to scan anoutput beam 125 along a single direction (e.g., a scanner 120 may be aone-dimensional scanner that scans along a horizontal or verticaldirection). The mirror may be driven by one actuator (e.g., agalvanometer) or two actuators configured to drive the mirror in apush-pull configuration. As another example, a scanner 120 may include asingle mirror that scans an output beam 125 along two directions (e.g.,horizontal and vertical). The mirror may be driven by two actuators,where each actuator provides rotational motion along a particulardirection or about a particular axis. As another example, a scanner 120may include two mirrors, where one mirror scans an output beam 125 alonga substantially horizontal direction and the other mirror scans theoutput beam 125 along a substantially vertical direction. In the exampleof FIG. 3, scanner 120 includes two mirrors, mirror 300-1 and mirror300-2. Mirror 300-1 may scan output beam 125 along a substantiallyhorizontal direction, and mirror 300-2 may scan the output beam 125along a substantially vertical direction (or vice versa).

In particular embodiments, a scanner 120 may include two mirrors, whereeach mirror is driven by a corresponding galvanometer scanner. As anexample, scanner 120 may include a galvanometer actuator that scansmirror 300-1 along a first direction (e.g., vertical), and scanner 120may include another galvanometer actuator that scans mirror 300-2 alonga second direction (e.g., horizontal). In particular embodiments, ascanner 120 may include two mirrors, where one mirror is driven by agalvanometer actuator and the other mirror is driven by a resonantactuator. As an example, a galvanometer actuator may scan mirror 300-1along a first direction, and a resonant actuator may scan mirror 300-2along a second direction. The first and second scanning directions maybe substantially orthogonal to one another. As an example, the firstdirection may be substantially vertical, and the second direction may besubstantially horizontal, or vice versa. In particular embodiments, ascanner 120 may include one mirror driven by two actuators which areconfigured to scan the mirror along two substantially orthogonaldirections. As an example, one mirror may be driven along asubstantially horizontal direction by a resonant actuator or agalvanometer actuator, and the mirror may also be driven along asubstantially vertical direction by a galvanometer actuator. As anotherexample, a mirror may be driven along two substantially orthogonaldirections by two resonant actuators.

In particular embodiments, a scanner 120 may include a mirror configuredto be scanned along one direction by two actuators arranged in apush-pull configuration. Driving a mirror in a push-pull configurationmay refer to a mirror that is driven in one direction by two actuators.The two actuators may be located at opposite ends or sides of themirror, and the actuators may be driven in a cooperative manner so thatwhen one actuator pushes on the mirror, the other actuator pulls on themirror, and vice versa. As an example, a mirror may be driven along ahorizontal or vertical direction by two voice coil actuators arranged ina push-pull configuration. In particular embodiments, a scanner 120 mayinclude one mirror configured to be scanned along two axes, where motionalong each axis is provided by two actuators arranged in a push-pullconfiguration. As an example, a mirror may be driven along a horizontaldirection by two resonant actuators arranged in a horizontal push-pullconfiguration, and the mirror may be driven along a vertical directionby another two resonant actuators arranged in a vertical push-pullconfiguration.

In particular embodiments, a scanner 120 may include two mirrors whichare driven synchronously so that the output beam 125 is directed alongany suitable scan pattern 200. As an example, a galvanometer actuatormay drive mirror 300-2 with a substantially linear back-and-forth motion(e.g., the galvanometer may be driven with a substantially sinusoidal ortriangle-shaped waveform) that causes output beam 125 to trace asubstantially horizontal back-and-forth pattern. Additionally, anothergalvanometer actuator may scan mirror 300-1 along a substantiallyvertical direction. For example, the two galvanometers may besynchronized so that for every 64 horizontal traces, the output beam 125makes a single trace along a vertical direction. As another example, aresonant actuator may drive mirror 300-2 along a substantiallyhorizontal direction, and a galvanometer actuator or a resonant actuatormay scan mirror 300-1 along a substantially vertical direction.

In particular embodiments, a scanner 120 may include one mirror drivenby two or more actuators, where the actuators are driven synchronouslyso that the output beam 125 is directed along a particular scan pattern200. As an example, one mirror may be driven synchronously along twosubstantially orthogonal directions so that the output beam 125 followsa scan pattern 200 that includes substantially straight lines. Inparticular embodiments, a scanner 120 may include two mirrors drivensynchronously so that the synchronously driven mirrors trace out a scanpattern 200 that includes substantially straight lines. As an example,the scan pattern 200 may include a series of substantially straightlines directed substantially horizontally, vertically, or along anyother suitable direction. The straight lines may be achieved by applyinga dynamically adjusted deflection along a vertical direction (e.g., witha galvanometer actuator) as an output beam 125 is scanned along asubstantially horizontal direction (e.g., with a galvanometer orresonant actuator). If a vertical deflection is not applied, the outputbeam 125 may trace out a curved path as it scans from side to side. Byapplying a vertical deflection as the mirror is scanned horizontally, ascan pattern 200 that includes substantially straight lines may beachieved. In particular embodiments, a vertical actuator may be used toapply both a dynamically adjusted vertical deflection as the output beam125 is scanned horizontally as well as a discrete vertical offsetbetween each horizontal scan (e.g., to step the output beam 125 to asubsequent row of a scan pattern 200).

In the example of FIG. 3, lidar system 100 produces an output beam 125and receives light from an input beam 135. The output beam 125, whichincludes at least a portion of the pulses of light emitted by lightsource 110, may be scanned across a field of regard. The input beam 135may include at least a portion of the scanned pulses of light which arescattered by one or more targets 130 and detected by receiver 140. Inparticular embodiments, output beam 125 and input beam 135 may besubstantially coaxial. The input and output beams being substantiallycoaxial may refer to the beams being at least partially overlapped orsharing a common propagation axis so that input beam 135 and output beam125 travel along substantially the same optical path (albeit in oppositedirections). As output beam 125 is scanned across a field of regard, theinput beam 135 may follow along with the output beam 125 so that thecoaxial relationship between the two beams is maintained.

In particular embodiments, a lidar system 100 may include an overlapmirror 115 configured to overlap the input beam 135 and output beam 125so that they are substantially coaxial. In FIG. 3, the overlap mirror115 includes a hole, slot, or aperture 310 which the output beam 125passes through and a reflecting surface 320 that reflects at least aportion of the input beam 135 toward the receiver 140. The overlapmirror 115 may be oriented so that input beam 135 and output beam 125are at least partially overlapped. In particular embodiments, input beam135 may pass through a lens 330 which focuses the beam onto an activeregion of the receiver 140. The active region may refer to an area overwhich receiver 140 may receive or detect input light. The active regionmay have any suitable size or diameter d, such as for example, adiameter of approximately 25 μm, 50 μm, 80 μm, 100 μm, 200 μm, 500 μm, 1mm, 2 mm, or 5 mm. In particular embodiments, overlap mirror 115 mayhave a reflecting surface 320 that is substantially flat or thereflecting surface 320 may be curved (e.g., mirror 115 may be anoff-axis parabolic mirror configured to focus the input beam 135 onto anactive region of the receiver 140).

In particular embodiments, aperture 310 may have any suitable size ordiameter Φ₁, and input beam 135 may have any suitable size or diameterΦ₂, where Φ₂ is greater than Φ₁. As an example, aperture 310 may have adiameter Φ₁ of approximately 0.2 mm, 0.5 mm, 1 mm, 2 mm, 3 mm, 5 mm, or10 mm, and input beam 135 may have a diameter Φ₂ of approximately 2 mm,5 mm, 10 mm, 15 mm, 20 mm, 30 mm, 40 mm, or 50 mm. In particularembodiments, reflective surface 320 of overlap mirror 115 may reflectgreater than or equal to 70% of input beam 135 toward the receiver 140.As an example, if reflective surface 320 has a reflectivity R at anoperating wavelength of the light source 110, then the fraction of inputbeam 135 directed toward the receiver 140 may be expressed asR×[1−(Φ₁/Φ₂)²]. For example, if R is 95%, Φ₁ is 2 mm, and Φ₂ is 10 mm,then approximately 91% of input beam 135 may be directed toward thereceiver 140 by reflective surface 320.

FIG. 4 illustrates an example light-source field of view (FOV_(L)) andreceiver field of view (FOV_(R)) for a lidar system 100. A light source110 of lidar system 100 may emit pulses of light as the FOV_(L) andFOV_(R) are scanned by scanner 120 across a field of regard (FOR). Inparticular embodiments, a light-source field of view may refer to anangular cone illuminated by the light source 110 at a particular instantof time. Similarly, a receiver field of view may refer to an angularcone over which the receiver 140 may receive or detect light at aparticular instant of time, and any light outside the receiver field ofview may not be received or detected. As an example, as the light-sourcefield of view is scanned across a field of regard, a portion of a pulseof light emitted by the light source 110 may be sent downrange fromlidar system 100, and the pulse of light may be sent in the directionthat the FOV_(L) is pointing at the time the pulse is emitted. The pulseof light may scatter off a target 130, and the receiver 140 may receiveand detect a portion of the scattered light that is directed along orcontained within the FOV_(R).

In particular embodiments, scanner 120 may be configured to scan both alight-source field of view and a receiver field of view across a fieldof regard of the lidar system 100. Multiple pulses of light may beemitted and detected as the scanner 120 scans the FOV_(L) and FOV_(R)across the field of regard of the lidar system 100 while tracing out ascan pattern 200. In particular embodiments, the light-source field ofview and the receiver field of view may be scanned synchronously withrespect to one another, so that as the FOV_(L) is scanned across a scanpattern 200, the FOV_(R) follows substantially the same path at the samescanning speed. Additionally, the FOV_(L) and FOV_(R) may maintain thesame relative position to one another as they are scanned across thefield of regard. As an example, the FOV_(L) may be substantiallyoverlapped with or centered inside the FOV_(R) (as illustrated in FIG.4), and this relative positioning between FOV_(L) and FOV_(R) may bemaintained throughout a scan. As another example, the FOV_(R) may lagbehind the FOV_(L) by a particular, fixed amount throughout a scan(e.g., the FOV_(R) may be offset from the FOV_(L) in a directionopposite the scan direction).

In particular embodiments, the FOV_(L) may have an angular size orextent Θ_(L) that is substantially the same as or that corresponds tothe divergence of the output beam 125, and the FOV_(R) may have anangular size or extent Θ_(R) that corresponds to an angle over which thereceiver 140 may receive and detect light. In particular embodiments,the receiver field of view may be any suitable size relative to thelight-source field of view. As an example, the receiver field of viewmay be smaller than, substantially the same size as, or larger than theangular extent of the light-source field of view. In particularembodiments, the light-source field of view may have an angular extentof less than or equal to 50 milliradians, and the receiver field of viewmay have an angular extent of less than or equal to 50 milliradians. TheFOV_(L) may have any suitable angular extent Θ_(L), such as for example,approximately 0.1 mrad, 0.2 mrad, 0.5 mrad, 1 mrad, 1.5 mrad, 2 mrad, 3mrad, 5 mrad, 10 mrad, 20 mrad, 40 mrad, or 50 mrad. Similarly, theFOV_(R) may have any suitable angular extent Θ_(R), such as for example,approximately 0.1 mrad, 0.2 mrad, 0.5 mrad, 1 mrad, 1.5 mrad, 2 mrad, 3mrad, 5 mrad, 10 mrad, 20 mrad, 40 mrad, or 50 mrad. In particularembodiments, the light-source field of view and the receiver field ofview may have approximately equal angular extents. As an example, Θ_(L)and Θ_(R) may both be approximately equal to 1 mrad, 2 mrad, or 3 mrad.In particular embodiments, the receiver field of view may be larger thanthe light-source field of view, or the light-source field of view may belarger than the receiver field of view. As an example, Θ_(L) may beapproximately equal to 1.5 mrad, and Θ_(R) may be approximately equal to3 mrad.

In particular embodiments, a pixel 210 may represent or may correspondto a light-source field of view. As the output beam 125 propagates fromthe light source 110, the diameter of the output beam 125 (as well asthe size of the corresponding pixel 210) may increase according to thebeam divergence Θ_(L). As an example, if the output beam 125 has a Θ_(L)of 2 mrad, then at a distance of 100 m from the lidar system 100, theoutput beam 125 may have a size or diameter of approximately 20 cm, anda corresponding pixel 210 may also have a corresponding size or diameterof approximately 20 cm. At a distance of 200 m from the lidar system100, the output beam 125 and the corresponding pixel 210 may each have adiameter of approximately 40 cm.

FIG. 5 illustrates an example sinusoidal scan pattern 200. In particularembodiments, a scan pattern 200 may be a closed or continuous scanpattern 200 that continually scans without performing a retraceoperation, or a scan pattern 200 may be an open scan pattern 200 thatincludes a retrace. A retrace operation may occur when scanner 120resets from an end point of a scan 200 back to a starting point of thescan 200. In particular embodiments, lidar system 100 may not send outpulses or acquire distance data during a retrace, or lidar system 100may acquire distance data during a retrace (e.g., a retrace path mayinclude one or more pixels 210). In the example of FIG. 5, scan pattern200 includes retrace 400 represented by a dashed diagonal line thatconnects the end of scan pattern 200 to the beginning.

In particular embodiments, the pixels 210 of a scan pattern 200 may besubstantially evenly spaced with respect to time or angle. As anexample, each pixel 210 (and its associated pulse) may be separated froman immediately preceding or following pixel 210 by any suitable timeinterval, such as for example a time interval of approximately 0.5 μs,1.0 μs, 1.4 μs, or 2.0 μs. In FIG. 5, pixels 210A, 210B, and 210C may beassociated with pulses that were emitted with a 1.6 μs fixed timeinterval between the pulses. As another example, each pixel 210 (and itsassociated pulse) may be separated from an immediately preceding orfollowing pixel 210 by any suitable angle, such as for example an angleof approximately 0.01°, 0.02°, 0.05°, 0.1°, 0.2°, 0.3°, or 0.5°. In FIG.5, pixels 210A and 210B may have an angular separation of approximately0.1° (e.g., pixels 210A and 210B may each be associated with opticalbeams separated by an angle of 0.1°). In particular embodiments, thepixels 210 of a scan pattern 200 may have an adjustable spacing withrespect to time or angle. As an example, a time interval or angleseparating two successive pixels 210 may be dynamically varied during ascan or from one scan to a subsequent scan.

In particular embodiments, lidar system 100 may include a scanner 120configured to direct output 125 along any suitable scan pattern 200. Asan example, all or part of scan pattern 200 may follow a substantiallysinusoidal path, triangle-wave path, square-wave path, sawtooth path,piecewise linear path, periodic-function path, or any other suitablepath or combination of paths. In the example of FIG. 5, scan pattern 200corresponds to an approximately sinusoidal path, where pixels 210 arearranged along a sinusoidal curve. In particular embodiments, scanpattern 200 may include any suitable integral number of cycles of aparticular periodic function (e.g., 1, 2, 5, 10, 20, 50, or 100 cycles)or any suitable non-integral number of cycles (e.g., 9.7, 13.33, or 53.5cycles). In FIG. 5, scan pattern 200 includes just over four periods orcycles of a sinusoidal function. In particular embodiments, scan pattern200 may include a periodic function having any suitable alignment ororientation, such as for example, horizontal, vertical, oriented at 33degrees, or oriented along a 45-degree axis. In the example of FIG. 5,scan pattern 200 is a sinusoidal curve oriented horizontally where thepeaks and valleys of the sinusoidal curve are aligned substantiallyhorizontally.

In particular embodiments, pixels 210 may be substantially evenlydistributed across scan pattern 200, or pixels 210 may have adistribution or density that varies across a FOR of scan pattern 200. Inthe example of FIG. 5, pixels 210 have a greater density toward the leftedge 410L and right edge 410R of scan 200, and the pixel density in themiddle region 410M of scan 200 is lower compared to the edges. As anexample, pixels 210 may be distributed so that ≥40% of the pixels 210are located in the left 25% of the FOR of scan pattern 200 (e.g., region410L), ≥40% of the pixels 210 are located in the right 25% of the FOR(e.g., region 410R), and the remaining <20% of the pixels 210 arelocated in the middle 50% of the FOR (e.g., region 410M). In particularembodiments, a time interval or angle between pixels 210 may bedynamically adjusted during a scan so that a scan pattern 200 has aparticular distribution of pixels 210 (e.g., a higher density of pixels210 in one or more particular regions). As an example, the scan pattern200 may be configured to have a higher density of pixels 210 in a middleor central region of scan 200 or toward one or more edges of scan 200(e.g., a middle region or a left, right, upper, or lower edge thatincludes approximately 5%, 10%, 20%, 30%, or any other suitablepercentage of the FOR of scan pattern 200). For example, pixels 210 maybe distributed so that ≥40% of the pixels 210 are locate in a central,left, or right region of scan pattern 200 with the remaining <60% of thepixels 210 distributed throughout the rest of scan pattern 200. Asanother example, a scan pattern 200 may have a higher density of pixelsalong a right edge of the scan pattern 200 than along a left edge of thescan pattern 200.

In particular embodiments, a distribution of pixels 210 in a scanpattern 200 may be determined, at least in part, by a pulse period oflight source 110, a scanning speed provided by scanner 120, or a shapeor path followed by scan pattern 200. As an example, the pulse period oflight source 110 may be a substantially fixed value, or the pulse periodmay be adjusted dynamically during a scan to vary the density of pixels210 across the scan region. As another example, an angular speed withwhich the scanner 120 rotates may be substantially fixed or may varyduring a scan. As another example, a scan pattern 200 may provide for avarying distribution of pixels 210 based on the shape of the pattern.For example, a triangle-wave scan pattern 200 (combined with asubstantially constant pulse period and angular speed) may provide asubstantially uniform distribution of pixels 210 along the horizontaldirection, while a sinusoidal scan pattern 200 may result in a higherdensity of pixels 210 along the left edge 410L and right edge 410R and alower density of pixels 210 in the middle region 410M. Additionally, twoor more scan parameters may be selected or adjusted to optimize oradjust the density of pixels 210 in a scan pattern 200. As an example, asinusoidal scan pattern 200 may be combined with a dynamically adjustedpulse period of light source 100 to provide for a higher density ofpixels 210 along the right edge 410R and a lower density of pixels 210in the middle region 410M and left edge 410L.

In particular embodiments, a particular scan pattern 200 may be repeatedfrom one scan to the next, or one or more parameters of a scan pattern200 may be adjusted or varied from one scan to another. As an example, atime interval or angle between pixels 210 may be varied from one scan toanother scan. A relatively long time interval may be applied in aninitial scan to produce a moderate-density point cloud, and a relativelyshort time interval may be applied in a subsequent scan to produce ahigh-density point cloud. As another example, a time interval or anglebetween pixels 210 may be varied within a particular scan pattern 200.For a particular region of a scan pattern 200, a time interval may bedecreased to produce a higher density of pixels 210 within thatparticular region.

FIG. 6 illustrates an example hybrid scan pattern 200. In particularembodiments, a hybrid scan pattern 200 may be formed by combiningportions of two or more scan patterns into a single scan pattern. As anexample, a hybrid scan pattern 200 may include any suitable combinationof two or more shapes or patterns, such as for example, a sinusoidalshape, triangle-wave shape, square-wave shape, sawtooth shape, circularshape, piecewise linear shape, spiral shape, or any suitable arbitraryshape. In the example of FIG. 6, hybrid scan pattern 200 is acombination of a substantially triangle-wave shape (region 420) and asubstantially sinusoidal shape (region 430). The triangle-wave shape inregion 420 is formed by straight-line segments, and the sinusoidal shapein region 430 is formed by half-sinusoidal shapes joined to thestraight-line segments. In particular embodiments, each particular shapeor pattern of a hybrid scan pattern 200 may cover any suitable portionof a scan FOR. As an example, a straight-line region 420 may cover 40%,60%, or 80% of a FOR, and a sinusoidal region 430 may cover theremaining 60%, 40%, or 20%, respectively, of the FOR. In the example ofFIG. 6, straight-line region 420 covers the left 50% of the FOR of scanpattern 200, and sinusoidal region 430 covers the right 50% of the FOR.

In particular embodiments, pixels 210 for a hybrid scan pattern 200 maybe distributed along the scan pattern 200 in any suitable uniform ornonuniform manner. In the example of FIG. 6, the pixels 210 in thetriangle-wave portion 420 and on the left side of the sinusoidal portion430 have a relatively low-density distribution, and the pixels 210 onthe right side of the sinusoidal portion 430 have a relativelyhigh-density distribution. The hybrid scan pattern 200 of FIG. 6 may beused to scan a region where the pixels 210 on the right side of the scanpattern 200 are more important or have a higher relevance than thepixels 210 in the middle or on the left side. As an example, a hybridscan pattern 200 may be configured so that a particular region (e.g.,approximately 10%, 20%, or 30% of the area on the right side of the FOR)includes ≥50% of the pixels 210 and the rest of the scan region (e.g.,the remaining 90%, 80%, or 70%, respectively, of the FOR) includes theremaining <50% of the pixels 210.

FIG. 7 illustrates two example overlapping scan patterns 200A and 200B.In the example of FIG. 7, scan pattern 200A is configured to scan acrossscan region 500A, and scan pattern 200B is configured to scan acrossscan region 500B. As an example, scan patterns 200A and 200B may eachcover a 60°×15° FOR. In particular embodiments, two or more scanpatterns 200 (where each scan pattern is associated with a particularlidar system 100) may be configured to scan across two or morerespective regions that are at least partially overlapping. As anexample, three overlapping scan patterns 200 may be located adjacent toone another (e.g., a first scan region may overlap with a second scanregion, and the second scan region may also overlap with a third scanregion). In the example of FIG. 7, the right portion of scan region 500Aoverlaps the left portion of scan region 500B, and scan patterns 200Aand 200B overlap in middle region 510. In particular embodiments,overlapping scan patterns 200A and 200B may each include any suitabletype of scan pattern having any suitable FOR. In FIG. 7, scan pattern200A corresponds to hybrid scan pattern 200 in FIG. 6, and scan pattern200B corresponds to a reversed version of scan pattern 200A (e.g., withrespect to scan pattern 200A, scan pattern 200B is flipped about avertical axis). Scan pattern 200A has a relatively high density ofpixels 210 on the right side of its FOR, and scan pattern 200B has arelatively high density of pixels 210 on the left side of its FOR. Inthe example of FIG. 7, a retrace path 400 is not included for clarity ofvisualizing the details of the scan patterns 200A and 200B. A scanpattern 200 illustrated in other figures described herein may notinclude a retrace path 400, even though in practice the scan pattern 200may operate with a retrace path 400 that connects the end of the scanpattern 200 to its beginning.

In particular embodiments, two scan patterns 200 may be configured tooverlap in an overlap region 510 where the overlap region 510 has ahigher density of pixels 210 than the portions of the scan patterns 200located outside the overlap region. As an example, an overlap region 510may include approximately 1%, 5%, 10%, 20%, 30%, or any other suitableportion of scan region 500A and scan region 500B. As another example, anoverlap region 510 may include approximately 1°, 10°, 20°, or any othersuitable angular portion of scan region 500A and 500B. If scan regions500A and 500B each have a 60° FOR_(II) and a horizontal angular overlapof approximately 3°, then scan regions 500A and 500B may be referred toas having an overlap of approximately 5%. An overlap region 510 mayinclude a higher density of pixels 210 based at least in part on theoverlap of the two scan patterns 200A and 200B. As an example, if eachscan pattern 200A and 200B has a substantially uniform density of pixels210 across their respective scan region 500A and 500B, then the densityof pixels 210 in the overlap region 510 may be approximately twice thepixel density outside the overlap region 510. Additionally, an overlapregion 510 may also include a higher density of pixels 210 based on anonuniform distribution of pixels 210 for each of the scan patterns 200Aand 200B. As illustrated in FIG. 7, each scan pattern 200A and 200B maybe configured to have a higher density of pixels 210 within the overlapregion 510. As an example, if each scan pattern 200A and 200B has ahigher density of pixels 210 within an overlap region 510, then thedensity of pixels in the overlap region 510 may be greater than twicethe average pixel density outside the overlap region 510. As an example,an overlap region may have 3×, 4×, 5×, or any other suitable factor ofhigher pixel density inside an overlap region 510 than an average pixeldensity outside the overlap region 510. As another example, an overlapregion 510 may include an overlap between 1%, 5%, 10%, 20%, or any othersuitable percentage of scan regions 500A and 500B, and the overlapregion 510 may include 20%, 30%, 40%, 50%, or any other suitablepercentage of the total number of pixels 210 of scan patterns 200A and200B.

FIGS. 8-9 each illustrate a top view of a vehicle 610 with two lidarsystems 100A and 100B that produce two example overlapping scanpatterns. Scan region 500A corresponds to a FOR of lidar system 100A,and scan region 500B corresponds to a FOR of lidar system 100B. Scanregion 500A is bordered by lines 600A-L and 600A-R, and the anglebetween lines 600A-L and 600A-R corresponds to FOR_(H-A), the horizontalFOR of scan region 500A. Similarly, scan region 500B is bordered bylines 600B-L and 600B-R, and the angle between lines 600B-L and 600B-Rcorresponds to FOR_(II-B), the horizontal FOR of scan region 500B. Scanregion 500A and scan region 500B are overlapped in overlap region 510.In FIG. 8, overlap region 510 is bordered by lines 600A-R and 600B-L. InFIG. 9, overlap region 510 is bordered by lines 600A-L and 600B-R.

In particular embodiments, an overlap region 510 may provide a higherdensity of pixels 210 which may result in a higher-density point cloudwithin the overlap region 510. Additionally, the relatively high-densityparts of scan patterns 200A and 200B may be configured to coincideapproximately with the overlap region 510, resulting in a furtherincrease in pixel density within the overlap region 510. In particularembodiments, an overlap region 510 may be aimed in a direction withrelatively high importance or relevance (e.g., a forward-looking portionof a vehicle), or an overlap region 510 may provide a redundant back-upfor an important portion of a FOR. As an example, lidar sensors 100A and100B may be configured to overlap across region 510, and if one of thelidar sensors (e.g., lidar sensor 100A) experiences a problem orfailure, the other lidar sensor (e.g., lidar sensor 100B) may continueto scan and produce a point cloud that covers the particular region ofinterest.

In the example of FIG. 8, scan regions 500A and 500B are overlapped toproduce an angularly overlapping scan region 510 that has an overlapangle of ω. The overlap angle ω corresponds to the angle between lines600A-R and 600B-L, where each line (which may be referred to as aborderline or an edge line) represents a border or end of the scanregions 500A and 500B, respectively. In particular embodiments, theoverlap angle ω between two scan regions may be any suitable angle, suchas for example, approximately 0°, 1°, 5°, 10°, 20°, or 40°. As anexample, two scan regions each having a 60° FOR_(H) and an overlap angleω of 5° may form a combined scan region with an overall FOR_(H) of 115°.In the example of FIG. 8, the overlap angle ω between scan regions 500Aand 500B is approximately 20°.

In the example of FIG. 9, scan regions 500A and 500B are overlapped toproduce a translationally overlapping scan region 510 that has anoverlap distance of w. In particular embodiments, a translationallyoverlapping scan region 510 may refer to an overlapping scan region 510that results from translating scan region 500A with respect to 500B. Inparticular embodiments, the overlap distance w between two scan regionsmay be any suitable value, such as for example, approximately 0 cm, 1cm, 5 cm, 10 cm, 100 cm, 1 m, 2 m, or 5 m. In the example of FIG. 9,scan regions 500A and 500B each have a 60° FOR and an overlap angle ω of0°, and the two scan regions together form a combined scan region withan overall FOR of 120°. In particular embodiments, scan regions 500A and500B may be angularly overlapped as well as translationally overlapped.As an example, scan regions 500A and 500B may have any suitable overlapdistance w (e.g., approximately 10 cm) and a nonzero overlap angle ω(e.g., approximately 3°).

In particular embodiments, scan regions 500A and 500B may be overlappedin a crossing or non-crossing manner, depending on the positions oflidar systems 100A and 100B and their respective scan regions 500A and500B. In FIGS. 8 and 9, lidar system 100A is located on the left side ofvehicle 610, and lidar system 100B is located on the right side ofvehicle 610. In FIG. 8, scan region 500A is directed toward the left ofvehicle 610, and scan region 500B is directed toward the right. In FIG.9, the scan regions 500A and 500B are reversed with respect to FIG. 8;scan region 500A is directed toward the right, and scan region 500B isdirected toward the left. In the example of FIG. 8, scan regions 500Aand 500B are overlapped in a non-crossing manner where lidar system 100Aand scan region 500A are both located on the same side of vehicle 610(the left side), and lidar system 100B and scan region 500B are bothlocated on the other side of vehicle 610 (the right side). In theexample of FIG. 9, scan regions 500A and 500B are overlapped in acrossing manner where lidar system 100A and scan region 500A are locatedon opposite sides of vehicle 610 (e.g., lidar system 100A is located onthe left side of vehicle 610, and scan region 500A is directed towardthe right of vehicle 610), and lidar system 100B and scan region 500Bare also located on opposite sides of vehicle 610. Two lidar systems maybe non-crossing if they each have one borderline that does not crosseither borderline of the other system. The two lidar systems 100A and100B in FIG. 8 are in a non-crossing configuration since borderline600A-L does not cross borderline 600B-L or 600B-R, and borderline 600B-Rdoes not cross borderline 600A-L or 600A-R. Two lidar systems may beoverlapped in a crossing manner if the two borderlines for one lidarsystem each cross at least one borderline of the other lidar system. Thetwo lidar systems 100A and 100B in FIG. 9 are in a crossingconfiguration since borderline 600A-L crosses borderline 600B-L andborderline 600A-R crosses both borderlines 600B-L and 600B-R.

FIG. 10 illustrates an example targeted scan region 810. In particularembodiments, lidar system 100 may be configured to perform a targetedscan 800 over a particular targeted scan region 810 within a particularfield of regard FOR_(H)×FOR_(V). In the example of FIG. 10, targetedscan pattern 800 has a horizontal field of regard 830 contained withinFOR_(H) and a vertical field of regard 840 contained within FOR_(V). Asan example, a full field of regard (e.g., FOR_(H)×FOR_(V)) may cover50°×10°, and the targeted scan region 810 may have a field of regardthat covers any suitable portion of the full field of regard (e.g.,2°×1°, 5°×2°, or 10°×4°). In particular embodiments, lidar system 100may perform a scan that covers a full field of regard, and then, in asubsequent scan, lidar system 100 may perform a targeted scan 800 toinvestigate a particular sub-region (e.g., targeted scan region 810) ofthe full field of regard. As an example, during a scan that covers thefull field of regard, one or more particular regions of interest may beidentified (e.g., there may be a target 130 located in a region ofinterest), and lidar system 100 may then perform a targeted scan 800 togain additional information about the target 130. As another example,lidar system 100 may alternate between performing one or more scans thatcover a full field of regard and one or more targeted scans 800 thatcover one or more particular sub-regions of the full field of regard.

In particular embodiments, a targeted scan 800 may have a higher pixeldensity than a scan that covers a full field of regard. In particularembodiments, a targeted scan 800 may cover a targeted scan region 810having any suitable shape, such as for example, rectangular (asillustrated in FIG. 10), square, circular, elliptical, polygonal, orarbitrarily-shaped. In particular embodiments, lidar system 100 mayperform a single targeted scan 800 of one region 810 (e.g., asillustrated in FIG. 10), or lidar system 100 may perform multiple,separate targeted scans 800. As an example, lidar system 100 may performtwo or more targeted scans 800, where each targeted scan 800 has aparticular shape, a particular location within the FOR, a particularscan pattern 800, or a particular pixel density.

FIG. 11 illustrates an example scan pattern 200 that includes an exampletargeted scan region 810. In FIGS. 10 and 11, pixels are not shown inthe scan patterns for clarity of illustrating the scan patterns. Inparticular embodiments, a lidar system 100 may combine a scan pattern200 that includes all or part of a full field of regard (e.g.,FOR_(H)×FOR_(V)) with a targeted scan 800. In the example of FIG. 11,scan pattern 200 may have a relatively low density of pixels 210, andtargeted scan 800 may have a relatively high density of pixels. As anexample, the average pixel density of the targeted scan 800 may be 2×,3×, 5×, 10×, or any other suitable factor greater than the average pixeldensity of scan pattern 200. In particular embodiments, an average pixeldensity of a particular scan region may be expressed asM/(FOR_(H)×FOR_(V)), where M is the number of pixels 210 within the scanregion, and the product of FOR_(II) and FOR_(V) corresponds to the solidangle of the scan region in units of square degrees (deg²). As anexample, a scan region with M=10⁶ pixels and a 50°×20° field of regardhas an average pixel density of 10⁶/(50×20), or 1,000 pixels/deg².

In particular embodiments, lidar system 100 may perform a standard scanthat covers a full field of regard, and then, in a subsequent scan,lidar system 100 may perform a combined standard/targeted scan thatincludes a scan pattern 200 with a lower density of pixels 210 and atargeted scan 800 with a higher density of pixels 210. A combinedstandard/targeted scan (e.g., as illustrated in FIG. 11) may beperformed in two separate steps (e.g., a standard scan pattern 200 maybe followed or preceded by a targeted scan 800), or a combinedstandard/targeted scan may be performed in one operation (e.g., all orpart of the targeted scan 800 may be performed during or interleavedwithin the standard scan pattern 200). In particular embodiments, acombined standard/targeted scan may include one or more distinct orseparate targeted scan patterns 800. As an example, a combinedstandard/targeted scan may include a single targeted scan pattern 800(e.g., as illustrated in FIG. 11), or a combined standard/targeted scanmay include two or more targeted scan patterns 800.

FIGS. 12-13 each illustrate an example Lissajous scan pattern 200. Inparticular embodiments, a Lissajous scan pattern 200 may refer to a scanpattern 200 that at least partially follows or that is based at least inpart on a Lissajous curve. As an example, scanner 120 may direct outputbeam 125 to follow a Lissajous scan pattern 200 where the pattern isbased on a Lissajous curve. A Lissajous curve (which may be referred toas a Lissajous figure, a Lissajous pattern, or a Lissajous scan pattern)describes a two-dimensional harmonic motion or pattern and may bewritten as a system of two parametric equations. As an example, aLissajous scan pattern 200 may be expressed as Θ_(x)(n)=A sin(2πa·n/N)and Θ_(y)(n)=B sin(2πb·n/N+δ), where Θ_(x)(n) and Θ_(y)(n) represent apair of horizontal and vertical angles (each angle depends on theparameter n, where n is an integer that corresponds to the nth pixel 210in a scan pattern 200); A and B represent horizontal and verticalamplitudes; a and b correspond to a number of horizontal and verticallobes in the pattern; N is the number of pixels 210 in the scan pattern200; and δ is a phase factor that represents a phase difference betweenΘ_(x) and Θ_(y).

The angles Θ_(x)(n) and Θ_(y)(n) correspond to an angular location orcoordinates of the nth pixel 210 in a scan pattern 200, and n is aninteger that varies from 0 to N-1. The parameter N represents the numberof pixels 210 in one cycle of the Lissajous scan pattern 200, and N maybe any suitable integer, such as for example, 10², 10³, 10⁴, 10⁵, 10⁶,or 10⁷. In the example of FIG. 12, the number of pixels 210 in the scanpattern 200 is approximately N=125. In particular embodiments, aLissajous scan pattern 200 may traverse a complete scan-pattern cyclethat includes N pixels 210, and then, the Lissajous scan pattern 200 mayrepeat back on itself and repeatedly retrace approximately the same scanpattern 200. Each of the Lissajous scan patterns 200 illustrated inFIGS. 12-13 is a closed scan pattern that repeats back on itself anddoes not include a retrace operation. In particular embodiments, a pairof angular coordinates (Θ_(x), Θ_(y)) may represent a location of aparticular pixel 210 and may correspond to a pointing direction ofoutput beam 125. In the example of FIG. 12, if the field of regardFOR_(H)×FOR_(V) is 60°×16°, then the angular coordinates (Θ_(x), Θ_(y))have ranges of (±30°, ±8°). For example, for a 60°×16° field of regard,pixel 210D (which is associated with the parameter n=0) has angularcoordinates of approximately (0°, 0°), pixel 210E (associated with n=9)has angular coordinates of approximately (29.3°, 7.8°), and pixel 210F(associated with n=23) has angular coordinates of approximately (−9.6°,−8.0°).

In particular embodiments, the horizontal amplitude A may be an anglethat corresponds to one half of the horizontal field of regard FOR_(H),and the vertical amplitude B may be an angle that corresponds to onehalf of the vertical field of regard FOR_(V). The amplitudes A and B mayeach have any suitable angular value, such as for example, 0.5°, 1°, 2°,5°, 7.5°, 10°, 15°, 20°, 30°, or 60°. In the example of FIG. 12, if thefield of regard FOR_(H)×FOR_(V) is 60°×16°, then A is 30° and B is 8°.The phase factor δ represents a relative phase shift between the twoexpressions for Θ_(x)(n) and Θ_(y)(n), and δ may have any suitableangular value, such as for example, 0°, 5°, 10°, 45°, 90°, or 180°.

In particular embodiments, the values a and b (which may be referred toas spatial-frequency parameters) may correspond to a number ofhorizontal lobes and a number of vertical lobes, respectively, in aLissajous pattern 200. As an example, if a is 33, then the Lissajousscan pattern 200 may have 33 horizontal lobes (arrayed along a verticaledge of the pattern 200), and if b is 13, then the Lissajous scanpattern 200 may have 13 vertical lobes (arrayed along a horizontaledge). A lobe corresponds to an arc of the Lissajous pattern 200 thatprotrudes along one edge of the pattern 200 (e.g., a left edge, rightedge, upper edge, or lower edge). In the example of FIG. 12, lobe 1000His a horizontal lobe, and lobe 1000V is a vertical lobe. In FIG. 12, ais 3 and b is 4, and the Lissajous scan pattern 200 has 3 horizontallobes and 4 vertical lobes. In FIG. 13, a is 11 and b is 17, and theLissajous scan pattern 200 has 11 horizontal lobes and 17 verticallobes. In particular embodiments, the values a and b may correspond to anumber of horizontal and vertical cycles, respectively, in a Lissajouspattern 200. As an example, if a=12 and b=5, then each traversal of thecorresponding Lissajous pattern 200 may include 12 sinusoidal cyclesalong a horizontal direction and 5 sinusoidal cycles along a verticaldirection (e.g., for each traversal of the Lissajous pattern 200, ahorizontal scanning mirror may undergo 12 periodic cycles, and avertical scanning mirror may undergo 5 periodic cycles). As anotherexample, if a=64 and b=9, then each traversal of the correspondingLissajous pattern 200 may include 64 cycles along a horizontal directionand 9 cycles along a vertical direction. The scan pattern 200illustrated in FIG. 12 includes a=3 horizontal cycles and b=4 verticalcycles, and the scan pattern 200 illustrated in FIG. 13 includes a=11horizontal cycles and b=17 vertical cycles. In the example of FIG. 13,pixels 210 are not included in the Lissajous scan pattern 200 forclarity of illustrating the scan pattern. Similarly, scan patterns 200illustrated in other figures described herein may not include pixels forclarity of illustrating the scan pattern.

In particular embodiments, the spatial-frequency parameters a and b fora Lissajous scan pattern 200 may each have any suitable integer value(e.g., 2, 10, 53, 113, or 200) or any suitable non-integer value (e.g.,5.3, 37.1, or 113.7). In particular embodiments, a and b may each havean integer value, where a and b do not have any common factors. As anexample, valid (a, b) pairs may include (2, 7), (3, 8), (11, 14), or(17, 32), and non-valid (a, b) pairs that have common factors mayinclude (2, 6), (3, 9), or (11, 33).

In particular embodiments, a Lissajous scan pattern 200 may be astatic-pixel pattern where each pixel 210 of the scan pattern 200 hassubstantially the same angular coordinates (Θ_(x), Θ_(y)) from one scancycle to the next. As an example, in FIG. 12, the pixel 210F associatedwith n=23 may have substantially the same angular coordinates (−9.6°,−8.0°) for each cycle of a Lissajous scan pattern 200. In particularembodiments, a Lissajous scan pattern 200 may be a dynamic-pixel patternwhere the pixels 210 of the scan pattern 200 have angular coordinates(Θ_(x), Θ_(y)) that vary from one scan cycle to the next. The pixels 210may all be located on a curve corresponding to the Lissajous scanpattern 200, but from one cycle to the next, each pixel 210 may advancealong the scan-pattern curve 200 by an amount that depends on aphase-advancement factor. As an example, a Lissajous scan pattern 200with dynamic pixels 210 may be expressed as Θ_(x)(n, C)=A sin(2πa·n/N+aCΦ) and Θ_(y)(n)=B sin(2πb·n/N+δ+bCΦ), where C is a cycle-countparameter and Φ represents the phase-advancement factor. The cycleparameter C is an integer that represents the number of Lissajous-curvescan cycles that have been traversed, and the parameter C increments by1 for each successive cycle. As an example, for an initial scan cycle, Cis 0, and for the next cycle C is 1. The phase-advancement factor Φrepresents an amount of phase increase from one scan cycle to the nextand corresponds to an amount of movement along a scan-pattern curve fromone scan to the next. The phase advancement factor Φ may have anysuitable angular value, such as for example, 0.001°, 0.01°, 0.05°, 0.1°,0.5°, 1°, 5°, or 10°. The locations of the pixels 210 illustrated inFIG. 12 may correspond to pixel locations for an initial scan cycle(e.g., C=0), and the pixels 210 may advance along the scan-pattern curve200 for each subsequent scan cycle by an amount based on the value ofthe phase-advancement factor Φ. As an example, for an initial scancycle, pixel 210D may have a location of approximately (0°, 0°). If thephase-advancement factor Φ is approximately 0.5°, then pixel 210D mayhave locations of approximately (0.8°, 0.3°) for C=1, (1.6°, 0.6°) forC=2, and (2.4°, 0.8°) for C=3. The other pixels 210 of the scan pattern200 may advance along the scan-pattern curve in a similar fashion.

In particular embodiments, a Lissajous scan pattern 200 may be expressedin terms of a time parameter as Θ_(x)(t)=A sin(2πaft) and Θ_(y)(t)=Bsin(2πbft+δ), where f is a frame rate of the lidar system 100. Theangles Θ_(x)(t) and Θ_(y)(t) correspond to the angular location orcoordinates of output beam 125 at a time t. The frame rate f (which maybe expressed in units of frames per second, or hertz) may be anysuitable value, such as for example, 0.1 Hz, 1 Hz, 5 Hz, 10 Hz, 20 Hz,40 Hz, 60 Hz, 100 Hz, or 400 Hz. Additionally, the product a×fcorresponds to the oscillation frequency of the output beam 125 along anx-axis (which may be represented by F_(x)). Similarly, the product b×fcorresponds the oscillation frequency of the output beam 125 along ay-axis (which may be represented by F_(y)). In particular embodiments,the phase difference δ between the angles Θ_(x)(t) and Θ_(y)(t) may beany suitable fixed or adjustable angular value. As an example, twoscanning mirrors of scanner 120 may each oscillate at a particularfrequency (e.g., F_(x) and F_(y)), and the two scanning mirrors may besynchronized with respect to one another so that there is asubstantially fixed phase difference δ delta between their oscillations.

In particular embodiments, a galvanometer scanner or a resonant-mirrorscanner may be configured to scan an output beam 125 along any suitabledirection (e.g., horizontally or vertically) at any suitable frequency,such as for example, approximately 1 Hz, 5 Hz, 10 Hz, 20 Hz, 40 Hz, 60Hz, 100 Hz, 500 Hz, 1 kHz, 2 kHz, 5 kHz, or 10 kHz. As an example, alidar system 100 may operate with a frame rate f of approximately 10 Hz.If a=64 and b=5, then the output beam 125 may oscillate at approximatelyF_(x)=640 Hz along the x-axis and approximately F_(y)=50 Hz along they-axis. As another example, a scanner 120 may include a resonant scannerthat scans the output beam 125 horizontally at a resonant frequency of640 Hz. Additionally, the scanner 120 may include a galvanometer or aresonant scanner that scans the output beam 125 vertically at 50 Hz. Asanother example, if a=100 and f=10 Hz, then the output beam 125 mayoscillate at approximately F_(x)=1 kHz along a substantially horizontaldirection. In particular embodiments, a scanner 120 may include a firstmirror (e.g., mirror 300-1 in FIG. 3) configured to scan an output beam125 along a substantially vertical direction and a second mirror (e.g.,mirror 300-2) configured to scan the output beam 125 along asubstantially horizontal direction (or vice versa). The first or secondmirror may each be driven by any suitable type of actuator, such as forexample, a galvanometer scanner, a resonant scanner, a voice coil motor,or a MEMS device. As an example, the first and second mirrors may eachbe driven by a resonant scanner configured to oscillate at a particularresonant frequency (e.g., the first mirror may be driven atapproximately 1-100 Hz and the second mirror may be driven atapproximately 500-1,000 Hz). As another example, the first mirror may bedriven by a galvanometer scanner, and the second mirror may be driven bya resonant scanner. As another example, the first and second mirrors mayeach be driven by a galvanometer scanner.

FIGS. 14-16 illustrate three successive stages of an examplequasi-non-repeating Lissajous scan pattern 200. In particularembodiments, if the values a and b are each rational numbers, then acorresponding Lissajous scan pattern 200 may be closed (e.g., thepattern repeats back on itself after a finite number of cycles). TheLissajous scan patterns 200 illustrated in FIGS. 12-13 are closed scanpatterns (e.g., the Lissajous scan patterns 200 in FIGS. 12-13 repeatand do not include a retrace operation). As an example, Lissajous scanpattern 200 in FIG. 12 starts at pixel 210D, and after completing onefull cycle of the scan pattern 200, the pattern returns to the pixel210D starting point and begins another scan cycle (each scan cycleincludes N pixels 210). In particular embodiments, if a or b is anirrational number (e.g., a=π), then the corresponding Lissajous scanpattern 200 may be non-repeating (e.g., the pattern never repeats backon itself).

In particular embodiments, for particular Lissajous scan patterns 200that have particular non-integer rational-number values for a or b, thescan patterns 200 may be closed, but the pattern may require asignificant number of scan cycles before repeating back on itself. As anexample, a Lissajous scan pattern 200 that takes greater than or equalto 5, 10, 20, 30, 50, 100, 1000, or any other suitable number of scancycles before repeating back on itself may be referred to as aquasi-non-repeating Lissajous scan pattern 200. As an example, aquasi-non-repeating Lissajous scan pattern 200 may have a pair of values(a, b) such as (5.01, 4), (17.3, 13), or (11.3, 117.07), where at leastone of the values of a or b is a non-integer rational number.

In particular embodiments, a quasi-non-repeating Lissajous scan pattern200 may require M scan cycles before repeating back on itself, where Mis the smallest integer such that M×a is an integer and M×b is aninteger. As an example, a quasi-non-repeating Lissajous scan pattern 200with a pair of spatial-frequency parameters (3.04, 2.2) may require M=25scan cycles before repeating back on itself. As another example, aquasi-non-repeating Lissajous scan pattern 200 with a pair ofspatial-frequency parameters (3.025, 2) may require M=40 scan cyclesbefore repeating back on itself. As another example, aquasi-non-repeating Lissajous scan pattern 200 with a pair ofspatial-frequency parameters (3.2, 2.6) may require M=5 scan cyclesbefore repeating back on itself. In particular embodiments, aquasi-non-repeating Lissajous scan pattern 200 may be used to provide amore complete coverage of a scan region than a closed scan pattern ormay be used to provide a scan pattern where the pixels 210 do not remainfixed in the same location from one scan cycle to another.

FIGS. 14-16 illustrate a quasi-non-repeating Lissajous scan pattern 200where a is 3.02 and b is 2. For the pair of spatial-frequency parameters(3.02, 2), the quasi-non-repeating Lissajous scan pattern 200 willrequire M=50 scan cycles before it repeats. FIG. 14 illustrates thequasi-non-repeating Lissajous scan pattern 200 after approximately onescan cycle. The scan cycle begins at pixel 210G and proceeds to scan inthe direction of the arrows. FIG. 15 illustrates the quasi-non-repeatingLissajous scan pattern 200 after approximately two scan cycles. FIG. 16illustrates the quasi-non-repeating Lissajous scan pattern 200 afterapproximately 20 scan cycles. In particular embodiments, aquasi-non-repeating Lissajous scan pattern 200 may be expressed in termsof a time parameter as Θ_(x)(t)=A sin(2πaft) and Θ_(y)(t)=Bsin(2πbft+δ), where f is a frame rate of the lidar system 100, and atleast one of the values of a or b is a non-integer rational number. Asan example, for a frame rate f of approximately 10 Hz, if a isapproximately 64 and b is approximately 5.2, then the output beam 125may be configured to oscillate at approximately F_(x)=640 Hz along thex-axis and approximately F_(y)=52 Hz along the y-axis. Additionally, theoutput beam 125 may follow a quasi-non-repeating Lissajous scan pattern200 which repeats back on itself after M=5 scan cycles (e.g., since5×5.2 is an integer).

FIGS. 17-18 each illustrate an example enclosure 850 that contains twolidar sensors 100A and 100B. In particular embodiments, an enclosure 850that includes two or more lidar sensors (e.g., lidar sensors 100A and100B) may be referred to collectively as a lidar system, lidar module,or lidar-system module. In FIG. 17, the enclosure 850 contains lightsource 110, and light from the light source 110 is directed to lidarsensor 100A and lidar sensor 100B by fiber-optic cables 880A and 880B,respectively. Fiber-optic cable 880A is terminated by lens 890A, whichproduces free-space beam 125A. Similarly, fiber-optic cable 880B isterminated by lens 890B, which produces free-space beam 125B. Lens 890Amay be a fiber-optic collimator that receives light from fiber-opticcable 880A and produces a free-space optical beam 125A that is directedthrough mirror 115A and to scanner 120A. Similarly, lens 890B may be afiber-optic collimator that receives light from fiber-optic cable 880Band produces a free-space optical beam 125B. In FIG. 18, each lidarsensor 100A and 100B includes a dedicated light source 110A and 110B,respectively.

In FIGS. 17 and 18, the output beam 125A passes through a hole inoverlap mirror 115A and is directed to scanner 120A, and the output beam125B passes through a hole in overlap mirror 115B and is directed toscanner 120B. Scanners 120A and 120B scan output beams 125A and 125B,respectively, along particular scan patterns. The enclosures 850 inFIGS. 17 and 18 each include a window 860 which output beams 125A and125B pass through. Scattered light 135A from output beam 125A (e.g.,light that is scattered by a target 130) travels back through window 860and scanner 120A and is then reflected by mirror 115A toward receiver140A. Similarly, scattered light 135B from output beam 125B travels backthrough window 860 and scanner 120B and is then reflected by mirror 115Btoward receiver 140B.

In FIG. 17, scanner 120A includes scanning mirrors 300A-1 and 300A-2,and scanner 120B includes scanning mirrors 300B-1 and 300B-2. Scanningmirror 300A-1 is rotated to scan output beam 125A vertically (e.g.,output beam 125A performs an elevation scan along an angle Θ_(Ay)), andscanning mirror 300A-2 is rotated to scan output beam 125A horizontally(e.g., output beam 125A performs an azimuthal scan along an angleΘ_(Ax)). Similarly, scanning mirror 300B-1 is rotated to scan outputbeam 125B vertically (e.g., output beam 125B performs an elevation scanalong an angle Θ_(By)), and scanning mirror 300B-2 is rotated to scanoutput beam 125B horizontally (e.g., output beam 125B performs anazimuthal scan along an angle Θ_(Bx)). In FIG. 18, each scanner includesa single scanning mirror configured to rotate about two substantiallyorthogonal axes. Scanner 120A includes scanning mirror 300A, which scansoutput beam 125A vertically and horizontally by scanning along anglesΘ_(Ay) and Θ_(Ax), respectively. Similarly, scanner 120B includesscanning mirror 300B, which scans output beam 125B vertically andhorizontally by scanning along angles Θ_(By) and Θ_(Bx), respectively.

The lidar sensors 100A and 100B illustrated in FIG. 17 or 18 may besimilar to the lidar sensors 100A and 100B illustrated in FIG. 8 or 9.In the example of FIG. 17, scan regions 500A and 500B are overlapped ina non-crossing manner (similar to scan regions 500A and 500B illustratedin FIG. 8). In the example of FIG. 18, scan regions 500A and 500B areoverlapped in a crossing manner (similar to scan regions 500A and 500Billustrated in FIG. 9).

In particular embodiments, a lidar system may include 2, 3, 4, or anyother suitable number of lidar sensors. As an example, a lidar systemmay include two lidar sensors (e.g., lidar sensors 100A and 100B) whichare packaged in one enclosure 850. As another example, a lidar systemmay include three lidar sensors packaged in one enclosure 850. Anenclosure 850 may refer to a housing, box, or case that contains two ormore lidar sensors. An enclosure 850 may be an airtight or watertightstructure that prevents water vapor, liquid water, dirt, dust, or othercontaminants from getting inside the enclosure 850. An enclosure 850 maybe filled with a dry or inert gas, such as for example, dry air,nitrogen, or argon. Each lidar sensor 100 contained within an enclosure850 may include a scanner 120 configured to scan pulses of light (e.g.,output beam 125) along a particular scan pattern 200 and a receiver 140configured to detect scattered light 135 from the scanned pulses oflight. Additionally, the enclosure 850 may include a window 860 whichthe output beam 125 and scattered light 135 for each lidar sensor aretransmitted through.

In particular embodiments, a lidar system with multiple lidar sensorsmay produce multiple respective scan patterns which are at leastpartially overlapped. As an example, a lidar system may include twolidar sensors 100A and 100B that produce two scan patterns 200A and200B, respectively, where scan patterns 200A and 200B are at leastpartially overlapped (e.g., in a crossing or a non-crossing manner). Asanother example, a lidar system may include three lidar sensors thatproduce three respective scan patterns (e.g., a first, second, and thirdscan pattern) which are at least partially overlapped (e.g., the firstand second scan patterns are at least partially overlapped, and thesecond and third scan patterns are at least partially overlapped).

In particular embodiments, a lidar system may include one or more lightsources 110 configured to provide optical pulses to two or more lidarsensors. As an example, a single light source 110 may be used to supplyoptical pulses to multiple lidar sensors within an enclosure 850. InFIG. 17, light source 110 produces optical pulses that are split andsupplied to lidar sensors 100A and 100B. As an example, optical pulsesproduced by light source 110 may pass through a 1×2 optical-powersplitter that splits each pulse emitted by light source 110 into twopulses which are sent to lidar sensor 100A and lidar sensor 100B,respectively. As another example, optical pulses produced by lightsource 110 may pass through a 1×2 optical switch that switches betweenlidar sensor 100A and lidar sensor 100B so that every other emittedpulse is supplied to one of the lidar sensors (e.g., pulses 1, 3, 5,etc. are supplied to lidar sensor 100A, and pulses 2, 4, 6, etc. aresupplied to lidar sensor 100B). As another example, optical pulsesproduced by light source 110 may pass through a 1×N optical splitter orswitch that supplies the pulses to N lidar sensors 100 located within anenclosure 850. In particular embodiments, a lidar system may includemultiple light sources 110 configured to provide optical pulses tomultiple respective lidar sensors 100. As an example, each lidar sensor100 within a lidar-system enclosure 850 may have a dedicated lightsource 110. In FIG. 18, light source 110A supplies optical pulses forlidar sensor 100A, and light source 110B supplies optical pulses forlidar sensor 100B.

In particular embodiments, a lidar-system enclosure 850 with multiplelidar sensors 100 may produce multiple output beams 125 having one ormore particular wavelengths. In the example of FIG. 17, output beams125A and 125B may include pulses having substantially the samewavelength (e.g., approximately 1550 nm). In the example of FIG. 18,output beams 125A and 125B may have different wavelengths. For example,light source 110A may produce pulses with a wavelength of approximately1550 nm, and light source 110B may produce pulses with a wavelength ofapproximately 1555 nm. Additionally, lidar sensor 100A may include anoptical filter that transmits light at the wavelength of light source110A and blocks light at the wavelength of light source 110B. Similarly,lidar sensor 100B may include an optical filter that transmits light atthe wavelength of light source 110B and blocks light at the wavelengthof light source 110A. For example, each receiver 140A and 140B may havean optical filter located at or near the input to the receiver. Theoptical filter may be configured to block light from the other lightsource to reduce optical cross-talk between lidar sensor 100A and 100B(e.g., to reduce the amount of scattered light from light source 110Bthat is detected by receiver 140A). An optical filter may be anabsorptive filter, dichroic filter, long-pass filter, short-pass filter,band-pass filter, or any other suitable type of optical filter.

In particular embodiments, each output beam 125 emitted from anenclosure 850 may be incident on window 860 at a nonzero angle ofincidence (AOI). A beam that is incident at 0° AOI may be approximatelyorthogonal to surface A or surface B of window 860. In FIGS. 17 and 18,output beams 125A and 125B may each be incident on window 860 at anonzero AOI (e.g., output beams 125A and 125B are each non-orthogonal tosurface A and surface B of window 860 as the beams are scanned). Outputbeams 125A and 125B may each have an AOI with window 860 that is greaterthan or equal to approximately 0.5°, 1°, 2°, 5°, 10°, 20°, or any othersuitable AOI. If output beam 125A strikes window 860 at 0° AOI, then aportion of the beam 125A reflected at surface A or surface B maypropagate back along approximately the same path as the incident beam125A. This specular reflection may be detected by receiver 140A (e.g.,the specular reflection may result in an unwanted pulse-detectionevent). If output beam 125A has a nonzero AOI on window 860 as the beamis scanned, then the magnitude of an unwanted specular reflection fromwindow 860 detected by receiver 140A may be significantly reduced sincethe off-axis specular reflection will not propagate directly back on thepath of the incident beam 125A. Similarly, if output beam 125B has anonzero AOI on window 860, then the magnitude of an unwanted specularreflection from window 860 detected by receiver 140B may besignificantly reduced.

In particular embodiments, an output beam 125 may produce scatteredlight when the output beam 125 is incident on window 860. The scatteredlight may result from surface roughness, imperfections, impurities, orinhomogeneities located in window 860 or on surface A or surface B. Inthe example of FIG. 17, output beams 125A and 125B produce scatteredlight 870A and 870B, respectively, at window 860. Scattered light 870Aor 870B may be produced from surface A, surface B, or from the bulkmaterial of window 860, and scattered light 870A and 870B may be emittedover a wide range of directions. A portion of scattered light 870A maybe detected by receiver 140B, resulting in unwanted cross-talk fromlidar sensor 100A to lidar sensor 100B. Similarly, a portion ofscattered light 870B may be detected by receiver 140A, resulting inunwanted optical cross-talk from lidar sensor 100B to lidar sensor 100A.In particular embodiments, an amount of optical cross-talk between lidarsensors may be reduced by performing scans in an out-of-synchronizationmanner, as described herein.

In particular embodiments, window 860 may be made from any suitablesubstrate material, such as for example, glass or plastic (e.g.,polycarbonate, acrylic, cyclic-olefin polymer, or cyclic-olefincopolymer). In particular embodiments, window 860 may include aninterior surface (surface A) and an exterior surface (surface B), andsurface A or surface B may include a dielectric coating havingparticular reflectivity values at particular wavelengths. A dielectriccoating (which may be referred to as a thin-film coating, interferencecoating, or coating) may include one or more thin-film layers ofdielectric materials (e.g., SiO₂, TiO₂, Al₂O₃, Ta₂O₅, MgF₂, LaF₃, orAlF₃) having particular thicknesses (e.g., thickness less than 1 μm) andparticular refractive indices. A dielectric coating may be depositedonto surface A or surface B of window 860 using any suitable depositiontechnique, such as for example, sputtering or electron-beam deposition.

In particular embodiments, a dielectric coating may have a highreflectivity at a particular wavelength or a low reflectivity at aparticular wavelength. A high-reflectivity (HR) dielectric coating mayhave any suitable reflectivity value (e.g., a reflectivity greater thanor equal to 80%, 90%, 95%, or 99%) at any suitable wavelength orcombination of wavelengths. A low-reflectivity dielectric coating (whichmay be referred to as an anti-reflection (AR) coating) may have anysuitable reflectivity value (e.g., a reflectivity less than or equal to5%, 2%, 1%, 0.5%, or 0.2%) at any suitable wavelength or combination ofwavelengths. In particular embodiments, a dielectric coating may be adichroic coating with a particular combination of high or lowreflectivity values at particular wavelengths. As an example, a dichroiccoating may have a reflectivity of less than or equal to 0.5% atapproximately 1550-1560 nm and a reflectivity of greater than or equalto 90% at approximately 800-1500 nm.

In particular embodiments, surface A or surface B may have a dielectriccoating that is anti-reflecting at an operating wavelength of one ormore light sources 110 contained within enclosure 850. An AR coating onsurface A and surface B may increase the amount of light at an operatingwavelength of light source 110 that is transmitted through window 860.Additionally, an AR coating at an operating wavelength of light source110 may reduce the amount of incident light from output beam 125A or125B that is reflected by window 860 back into the enclosure 850. InFIG. 17, surface A and surface B may each have an AR coating withreflectivity less than 0.5% at an operating wavelength of light source110. As an example, if light source 110 has an operating wavelength ofapproximately 1550 nm, then surface A and surface B may each have an ARcoating with a reflectivity that is less than 0.5% from approximately1547 nm to approximately 1553 nm. In FIG. 18, surface A and surface Bmay each have an AR coating with reflectivity less than 1% at theoperating wavelengths of light sources 110A and 110B. As an example, iflight source 110A emits pulses at a wavelength of approximately 1535 nmand light source 110B emits pulses at a wavelength of approximately 1540nm, then surface A and surface B may each have an AR coating withreflectivity less than 1% from approximately 1530 nm to approximately1545 nm.

In particular embodiments, window 860 may have an optical transmissionthat is greater than any suitable value for one or more wavelengths ofone or more light sources 110 contained within enclosure 850. As anexample, window 860 may have an optical transmission of greater than orequal to 70%, 80%, 90%, 95%, or 99% at a wavelength of light source 110.In FIG. 17, window 860 may transmit greater than or equal to 95% oflight at an operating wavelength of light source 110. In FIG. 18, window860 may transmit greater than or equal to 90% of light at the operatingwavelengths of light sources 110A and 110B.

In particular embodiments, surface A or surface B may have a dichroiccoating that is anti-reflecting at one or more operating wavelengths ofone or more light sources 110 and high-reflecting at wavelengths awayfrom the one or more operating wavelengths. As an example, surface A mayhave an AR coating for an operating wavelength of light source 110, andsurface B may have a dichroic coating that is AR at the light-sourceoperating wavelength and HR for wavelengths away from the operatingwavelength. A coating that is HR for wavelengths away from alight-source operating wavelength may prevent most incoming light atunwanted wavelengths from being transmitted through window 860. In FIG.17, if light source 110 emits optical pulses with a wavelength ofapproximately 1550 nm, then surface A may have an AR coating with areflectivity of less than or equal to 0.5% from approximately 1546 nm toapproximately 1554 nm. Additionally, surface B may have a dichroiccoating that is AR at approximately 1546-1554 nm and HR (e.g.,reflectivity of greater than or equal to 90%) at approximately 800-1500nm and approximately 1580-1700 nm.

In particular embodiments, surface B of window 860 may include a coatingthat is oleophobic, hydrophobic, or hydrophilic. A coating that isoleophobic (or, lipophobic) may repel oils (e.g., fingerprint oil orother non-polar material) from the exterior surface (surface B) ofwindow 860. A coating that is hydrophobic may repel water from theexterior surface. As an example, surface B may be coated with a materialthat is both oleophobic and hydrophobic. A coating that is hydrophilicattracts water so that water may tend to wet and form a film on thehydrophilic surface (rather than forming beads of water as may occur ona hydrophobic surface). If surface B has a hydrophilic coating, thenwater (e.g., from rain) that lands on surface B may form a film on thesurface. The surface film of water may result in less distortion,deflection, or occlusion of an output beam 125 than a surface with anon-hydrophilic coating or a hydrophobic coating.

FIG. 19 illustrates two example scan patterns 200A and 200B which areout of synchronization with respect to one another. In particularembodiments, a lidar system may include two or more lidar sensors 100that produce two or more respective scan patterns 200 which are scannedout of synchronization with respect to one another. As an example, alidar system that includes two lidar sensors 100A and 100B (e.g., thelidar system illustrated in FIG. 17 or 18) may produce two scan patterns200A and 200B which are out of synchronization with respect to oneanother. In particular embodiments, two or more scan patterns 200 thatare out of synchronization may be referred to as scan patterns 200 thatare non-synchronous, non-coincident, inverted, offset, or out of phase.

In the example of FIG. 19, scan patterns 200A and 200B each include asubstantially sinusoidal back-and-forth scanning portion followed by adiagonal retrace 400A and 400B, respectively, that connects the end of ascan pattern with the beginning. Scan patterns 200A and 200B performscans in an inverted sense with respect to one another. Scan pattern200A scans from top to bottom (e.g., scan pattern 200A traces across thefollowing pixels in order: 210A-1, 210A-2, 210A-3, and 210A-4), andretrace 400A is directed upward (from bottom to top). Scan pattern 200B,which is inverted with respect to scan pattern 200A, scans from bottomto top (e.g., scan pattern 200B traces across the following pixels inorder: 210B-1, 210B-2, 210B-3, and 210B-4), and retrace 400B is directeddownward. Scan patterns 200A and 200B in FIG. 19 may each includeadditional pixels 210 which are not illustrated in the figure.

In particular embodiments, scan patterns 200 that are scanned out ofsynchronization with respect to one another may be associated with areduced amount of optical cross-talk between lidar sensors 100. Aportion of cross-talk between lidar sensors 100 may be caused by lightthat is reflected or scattered at window 860 (e.g., a portion ofscattered light 870A from lidar sensor 100A may be detected by receiver140B, or a portion of scattered light 870B from lidar sensor 100B may bedetected by receiver 140A). By scanning output beams 125A and 125B outof synchronization, the two output beams (and their associated receiverFOVs) may be directed at locations on window 860 that are mostlynon-coincident or non-overlapping, which may reduce the amount ofcross-talk light between the two lidar sensors. In FIG. 18, little tonone of the scattered light 870A from output beam 125A may be detectedby receiver 140B, since the FOV of receiver 140B may be directed at adifferent location on window 860 than the FOV of light source 110A.Similarly, little to none of the scattered light 870B from output beam125B may be detected by receiver 140A.

In particular embodiments, scan patterns 200A and 200B being scanned outof synchronization with respect to one another may be associated withreceiver 140A detecting substantial cross-talk light from output beam125B for less than a particular amount of pixels 210 in scan pattern200A. Additionally, receiver 140B may detect substantial cross-talklight from output beam 125A for less than a particular amount of pixels210 in scan pattern 200B. As an example, the amount of pixels 210 forwhich substantial cross-talk light is detected may be less than or equalto approximately 1, 10, 100, 1,000, or any other suitable number ofpixels 210. As another example, the amount of pixels 210 for whichsubstantial cross-talk light is detected may be less than or equal toapproximately 10%, 1%, 0.1%, 0.01%, 0.001%, or any other suitablepercentage of pixels 210 in a scan pattern 200. If scan pattern 200Aincludes 50,000 pixels 210, and approximately 0.1% of the pixels 210include a substantial amount of cross-talk light from output beam 125B,then approximately 50 pixels 210 (out of the 50,000 pixels 210) mayinclude substantial cross-talk light.

In particular embodiments, detection of substantial cross-talk light byreceiver 140A may refer to the receiver 140A detecting an amount oflight from output beam 125B that is above a particular threshold value.As an example, receiver 140A may have a particular threshold value thatcorresponds to a valid detection of a pulse of light. If a voltagesignal produced by receiver 140A (e.g., in response to detecting a pulseof light) exceeds a particular threshold voltage, then the voltagesignal may correspond to a valid pulse-detection event (e.g., detectionof a pulse of light that is scattered by a target 130). Detection ofsubstantial cross-talk light (e.g., an invalid pulse-detection event)may result from receiver 140A detecting cross-talk light from lidarsensor 100B that exceeds the particular detection-threshold voltage.Similarly, receiver 140B detecting substantial cross-talk light mayresult from receiver 140B detecting cross-talk light from lidar sensor100A that exceeds the particular detection-threshold voltage.

In particular embodiments, a scan pattern 200 may include a scan-patternx-component (Θ_(x)) and a scan-pattern y-component (Θ_(y)). Thex-component may correspond to a horizontal (or, azimuthal) angular scan,and the y-component may correspond to a vertical (or, elevation) angularscan. In FIG. 19, scan pattern 200A includes a scan-pattern x-component(Θ_(Ax)) and a scan-pattern y-component (Θ_(Ay)), and scan pattern 200Bincludes a scan-pattern x-component (Θ_(Bx)) and a scan-patterny-component (Θ_(By)). As an example, the scan patterns 200A and 200B inFIG. 19 may be produced by the lidar system in FIG. 17, where mirror300A-1 produces the Θ_(Ay) scan component, mirror 300A-2 produces theΘ_(Ax) scan component, mirror 300B-1 produces the Θ_(By) scan component,and mirror 300B-2 produces the Θ_(Bx) scan component.

FIG. 20 illustrates two example scan-pattern y-components Θ_(Ay) andΘ_(By) which are inverted with respect to one another. In particularembodiments, two scan patterns 200 being scanned out of synchronizationmay include one scan-pattern y-component (Θ_(Ay)) being inverted withrespect to the other scan-pattern y-component (Θ_(By)). The Θ_(Ay)component in FIG. 20 corresponds to the vertical scan component of scanpattern 200A in FIG. 19, and the Θ_(By) component in FIG. 20 correspondsto the vertical scan component of scan pattern 200B in FIG. 19. The scanpatterns 200A and 200B are inverted in the sense that scan pattern 200Ascans from top to bottom, and scan pattern 200B scans in the oppositedirection (from bottom to top). For the Θ_(Ay) component in FIG. 20, thefast, positive ramp corresponds to retrace 400A, and the slow, negativeramp corresponds to the top-to-bottom scan of scan pattern 200A in FIG.19. For the Θ_(By) component in FIG. 20, the fast, negative rampcorresponds to retrace 400B, and the slow, positive ramp corresponds tothe bottom-to-top scan of scan pattern 200B in FIG. 19. By scanning scanpatterns 200A and 200B in an inverted manner, the overlap between outputbeams 125A and 125B (and their corresponding receiver FOVs) may beminimized, which may be associated with a reduction in opticalcross-talk between lidar sensors 100A and 100B. As an example, in FIG.19, output beams 125A and 125B traversing inverted scan patterns 200Aand 200B, respectively, may only be overlapped, if at all, in a regionnear pixel 210B-1 or 210A-3.

FIG. 21 illustrates two example scan-pattern y-components Θ_(Ay) andΘ_(By) which are offset from one another by a phase shift Δφ_(y). Inparticular embodiments, two scan patterns 200 being scanned out ofsynchronization may include one scan-pattern y-component (Θ_(Ay)) havinga particular phase shift Δφ_(y) relative to the other scan-patterny-component (Θ_(By)). As an example, each scan-pattern y-component(Θ_(Ay) and Θ_(By)) may be a periodic function with a period τ_(y), andthe two components may have any suitable phase shift Δφ_(y), such as forexample, a phase shift of approximately 0°, 45°, 90°, 180°, or 270°. Inthe example of FIG. 20, the two y-components Θ_(Ay) and Θ_(By) areinverted and have a relative phase shift of approximately 0°. In theexample of FIG. 21, the two y-components Θ_(Ay) and Θ_(By) are notinverted (e.g., they both correspond to a top-to-bottom scan) and have aphase shift Δφ_(y) of approximately 105°. While the two y-componentsΘ_(Ay) and Θ_(By) in FIG. 21 may correspond to two scan patterns with asimilar top-to-bottom scan trajectory, the relative phase shift Δφ_(y)between the two scan patterns may ensure that there is little or nooptical cross-talk between the associated lidar sensors.

FIG. 22 illustrates two example scan-pattern x-components Θ_(Ax) andΘ_(Bx) which are offset from one another by a phase shift Δφ_(x). Inparticular embodiments, two scan patterns 200 being scanned out ofsynchronization may include one scan-pattern x-component (Θ_(Ax)) havinga particular phase shift Δφ_(x) relative to the other scan-patternx-component (Θ_(Bx)). As an example, each scan-pattern x-component(Θ_(A), and Θ_(Bx)) may be a periodic function with a period τ_(x), andthe two components may have any suitable phase shift Δφ_(x), such as forexample, a phase shift of approximately 0°, 45°, 90°, 180°, or 270°. Inthe example of FIG. 22, the two x-components Θ_(Ax) and Θ_(Bx) have aphase shift Δφ_(x) of approximately 33°. In the example of FIG. 19, ifthe two x-components Θ_(Ax) and Θ_(Bx) have a phase shift Δφ_(x) ofapproximately 0°, then when lidar system 100A is measuring pixel 210A-1,lidar system 100B may be measuring pixel 210B-1. Similarly, when lidarsystem 100A is measuring pixels 210A-2, 210A-3, and 210A-4, then lidarsystem 100B may be measuring pixels 210B-2, 210B-3, and 210B-4,respectively. In the example of FIG. 19, if the two x-components Θ_(Ax)and Θ_(Bx) have a phase shift Δφ_(x) of approximately 90° (e.g., Θ_(Bx)leads Θ_(Ax) by 90°), then when lidar system 100A is measuring pixel210A-1, lidar system 100B may be measuring pixel 210B-2. Similarly, whenlidar system 100A is measuring pixels 210A-2 and 210A-3, then lidarsystem 100B may be measuring pixels 210B-3 and 210B-4, respectively. Inparticular embodiments, two scan patterns 200 being scanned out ofsynchronization may include one scan-pattern x-component (Θ_(Ax)) beinginverted with respect to the other scan-pattern x-component (Θ_(Bx)).

In particular embodiments, a y-component scan period τ_(y) maycorrespond to a time to capture a single scan pattern 200 and may berelated to a frame rate of a lidar sensor 100. As an example, a scanperiod τ_(y) of approximately 100 ms may correspond to a lidar-sensorframe rate of approximately 10 Hz. In particular embodiments, anx-component scan period τ_(x) may correspond to a period of oneback-and-forth azimuthal motion of an output beam 125. As an example, ifscan pattern 200 includes M back-and-forth axial motions for eachtraversal of the scan pattern, then scan periods τ_(x) and τ_(y) may beapproximately related by the expression τ_(y)=Mτ_(x). For example, if Mis approximately 64 and scan period τ_(y) is approximately 100 ms(corresponding to a 10-Hz frame rate), then scan period τ_(x) isapproximately 1.56 ms (corresponding to a horizontal oscillationfrequency of approximately 640 Hz).

In particular embodiments, two scan patterns 200A and 200B being scannedout of synchronization may include any suitable combination of x- ory-components being inverted or having any suitable phase shift. As anexample, two scan patterns 200A and 200B may have y-components Θ_(Ay)and Θ_(By) that are inverted and that also have a nonzero relative phaseshift. As another example, two scan patterns 200A and 200B may havey-components Θ_(Ay) and Θ_(By) that are inverted and x-components Θ_(Ax)and Θ_(Bx) that have a nonzero relative phase shift.

In particular embodiments, a lidar system may include three or morelidar sensors 100 which produce scan patterns 200 that are scanned outof synchronization with respect to one another. As an example, a lidarsystem with three lidar sensors 100 may produce three scan patterns 200with three respective sets of x-components (e.g., Θ_(Ax), Θ_(Bx), andΘ_(Cx)) and three respective sets of y-components (e.g., Θ_(Ay), Θ_(By),and Θ_(Cy)). The x- and y-components may have any suitable combinationof phase shift or inversion with respect to one another. As an example,y-components Θ_(Ay) and Θ_(Cy), may both be inverted with respect toy-component Θ_(By). As another example, x-component Θ_(Ax) may have a+45° phase shift with respect to x-component Θ_(Bx), and x-componentΘ_(Cx) may have a −45° phase shift with respect to x-component Θ_(Bx).

FIG. 23 illustrates two example scan patterns 200A and 200B. The scanpatterns 200A and 200B illustrated in FIG. 23 may be out ofsynchronization with respect to one another. In particular embodiments,a scan pattern 200 may include a back-and-forth portion that is alignedalong any suitable direction, such as for example, horizontal, vertical,or along any suitable angle. In the example of FIG. 19, scan patterns200A and 200B each include a substantially sinusoidal back-and-forthportion that is aligned along a substantially horizontal direction. Inparticular embodiments, a scan pattern 200 may include a back-and-forthportion that is aligned along a substantially vertical direction. In theexample of FIG. 23, scan patterns 200A and 200B each include asubstantially sinusoidal back-and-forth portion that is aligned along asubstantially vertical direction. The scan patterns 200A and 200Billustrated in FIG. 23 each include an x-component (Θ_(Ax) and Θ_(Bx),respectively) and a y-component (Θ_(Ay) and Θ_(By), respectively). Thex-components may be inverted or have any suitable phase shift withrespect to one another, and the y-components may be inverted or have anysuitable phase shift respect to one another. The scan patterns 200A and200B illustrated in FIG. 23 correspond to the scan patterns 200A and200B illustrated in FIG. 19 with the x- and y-axes interchanged. As anexample, the x-components of scan patterns 200A and 200B in FIG. 23 maybe similar to the y-components illustrated in FIG. 20 or 21. Similarly,the y-components of scan patterns 200A and 200B in FIG. 23 may besimilar to the x-components illustrated in FIG. 22.

FIG. 24 illustrates an example computer system 900. In particularembodiments, one or more computer systems 900 may perform one or moresteps of one or more methods described or illustrated herein. Inparticular embodiments, one or more computer systems 900 may providefunctionality described or illustrated herein. In particularembodiments, software running on one or more computer systems 900 mayperform one or more steps of one or more methods described orillustrated herein or may provide functionality described or illustratedherein. Particular embodiments may include one or more portions of oneor more computer systems 900. In particular embodiments, a computersystem may be referred to as a computing device, a computing system, acomputer, a general-purpose computer, or a data-processing apparatus.Herein, reference to a computer system may encompass one or morecomputer systems, where appropriate.

Computer system 900 may take any suitable physical form. As an example,computer system 900 may be an embedded computer system, a system-on-chip(SOC), a single-board computer system (SBC), a desktop computer system,a laptop or notebook computer system, a mainframe, a mesh of computersystems, a server, a tablet computer system, or any suitable combinationof two or more of these. As another example, all or part of computersystem 900 may be combined with, coupled to, or integrated into avariety of devices, including, but not limited to, a camera, camcorder,personal digital assistant (PDA), mobile telephone, smartphone,electronic reading device (e.g., an e-reader), game console, smartwatch, clock, calculator, television monitor, flat-panel display,computer monitor, vehicle display (e.g., odometer display or dashboarddisplay), vehicle navigation system, lidar system, ADAS, autonomousvehicle, autonomous-vehicle driving system, cockpit control, camera viewdisplay (e.g., display of a rear-view camera in a vehicle), eyewear, orhead-mounted display. Where appropriate, computer system 900 may includeone or more computer systems 900; be unitary or distributed; spanmultiple locations; span multiple machines; span multiple data centers;or reside in a cloud, which may include one or more cloud components inone or more networks. Where appropriate, one or more computer systems900 may perform without substantial spatial or temporal limitation oneor more steps of one or more methods described or illustrated herein. Asan example, one or more computer systems 900 may perform in real time orin batch mode one or more steps of one or more methods described orillustrated herein. One or more computer systems 900 may perform atdifferent times or at different locations one or more steps of one ormore methods described or illustrated herein, where appropriate.

As illustrated in the example of FIG. 24, computer system 900 mayinclude a processor 910, memory 920, storage 930, an input/output (I/O)interface 940, a communication interface 950, or a bus 960. Computersystem 900 may include any suitable number of any suitable components inany suitable arrangement.

In particular embodiments, processor 910 may include hardware forexecuting instructions, such as those making up a computer program. Asan example, to execute instructions, processor 910 may retrieve (orfetch) the instructions from an internal register, an internal cache,memory 920, or storage 930; decode and execute them; and then write oneor more results to an internal register, an internal cache, memory 920,or storage 930. In particular embodiments, processor 910 may include oneor more internal caches for data, instructions, or addresses. Processor910 may include any suitable number of any suitable internal caches,where appropriate. As an example, processor 910 may include one or moreinstruction caches, one or more data caches, or one or more translationlookaside buffers (TLBs). Instructions in the instruction caches may becopies of instructions in memory 920 or storage 930, and the instructioncaches may speed up retrieval of those instructions by processor 910.Data in the data caches may be copies of data in memory 920 or storage930 for instructions executing at processor 910 to operate on; theresults of previous instructions executed at processor 910 for access bysubsequent instructions executing at processor 910 or for writing tomemory 920 or storage 930; or other suitable data. The data caches mayspeed up read or write operations by processor 910. The TLBs may speedup virtual-address translation for processor 910. In particularembodiments, processor 910 may include one or more internal registersfor data, instructions, or addresses. Processor 910 may include anysuitable number of any suitable internal registers, where appropriate.Where appropriate, processor 910 may include one or more arithmeticlogic units (ALUs); may be a multi-core processor; or may include one ormore processors 910.

In particular embodiments, memory 920 may include main memory forstoring instructions for processor 910 to execute or data for processor910 to operate on. As an example, computer system 900 may loadinstructions from storage 930 or another source (such as, for example,another computer system 900) to memory 920. Processor 910 may then loadthe instructions from memory 920 to an internal register or internalcache. To execute the instructions, processor 910 may retrieve theinstructions from the internal register or internal cache and decodethem. During or after execution of the instructions, processor 910 maywrite one or more results (which may be intermediate or final results)to the internal register or internal cache. Processor 910 may then writeone or more of those results to memory 920. One or more memory buses(which may each include an address bus and a data bus) may coupleprocessor 910 to memory 920. Bus 960 may include one or more memorybuses. In particular embodiments, one or more memory management units(MMUs) may reside between processor 910 and memory 920 and facilitateaccesses to memory 920 requested by processor 910. In particularembodiments, memory 920 may include random access memory (RAM). This RAMmay be volatile memory, where appropriate. Where appropriate, this RAMmay be dynamic RAM (DRAM) or static RAM (SRAM). Memory 920 may includeone or more memories 920, where appropriate.

In particular embodiments, storage 930 may include mass storage for dataor instructions. As an example, storage 930 may include a hard diskdrive (HDD), a floppy disk drive, flash memory, an optical disc, amagneto-optical disc, magnetic tape, or a Universal Serial Bus (USB)drive or a combination of two or more of these. Storage 930 may includeremovable or non-removable (or fixed) media, where appropriate. Storage930 may be internal or external to computer system 900, whereappropriate. In particular embodiments, storage 930 may be non-volatile,solid-state memory. In particular embodiments, storage 930 may includeread-only memory (ROM). Where appropriate, this ROM may be mask ROM(MROM), programmable ROM (PROM), erasable PROM (EPROM), electricallyerasable PROM (EEPROM), flash memory, or a combination of two or more ofthese. Storage 930 may include one or more storage control unitsfacilitating communication between processor 910 and storage 930, whereappropriate. Where appropriate, storage 930 may include one or morestorages 930.

In particular embodiments, I/O interface 940 may include hardware,software, or both, providing one or more interfaces for communicationbetween computer system 900 and one or more I/O devices. Computer system900 may include one or more of these I/O devices, where appropriate. Oneor more of these I/O devices may enable communication between a personand computer system 900. As an example, an I/O device may include akeyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker,camera, stylus, tablet, touch screen, trackball, another suitable I/Odevice, or any suitable combination of two or more of these. An I/Odevice may include one or more sensors. Where appropriate, I/O interface940 may include one or more device or software drivers enablingprocessor 910 to drive one or more of these I/O devices. I/O interface940 may include one or more I/O interfaces 940, where appropriate.

In particular embodiments, communication interface 950 may includehardware, software, or both providing one or more interfaces forcommunication (such as, for example, packet-based communication) betweencomputer system 900 and one or more other computer systems 900 or one ormore networks. As an example, communication interface 950 may include anetwork interface controller (NIC) or network adapter for communicatingwith an Ethernet or other wire-based network or a wireless NIC (WNIC); awireless adapter for communicating with a wireless network, such as aWI-FI network; or an optical transmitter (e.g., a laser or alight-emitting diode) or an optical receiver (e.g., a photodetector) forcommunicating using fiber-optic communication or free-space opticalcommunication. Computer system 900 may communicate with an ad hocnetwork, a personal area network (PAN), an in-vehicle network (IVN), alocal area network (LAN), a wide area network (WAN), a metropolitan areanetwork (MAN), or one or more portions of the Internet or a combinationof two or more of these. One or more portions of one or more of thesenetworks may be wired or wireless. As an example, computer system 900may communicate with a wireless PAN (WPAN) (such as, for example, aBLUETOOTH WPAN), a WI-FI network, a Worldwide Interoperability forMicrowave Access (WiMAX) network, a cellular telephone network (such as,for example, a Global System for Mobile Communications (GSM) network),or other suitable wireless network or a combination of two or more ofthese. As another example, computer system 900 may communicate usingfiber-optic communication based on 100 Gigabit Ethernet (100 GbE), 10Gigabit Ethernet (10 GbE), or Synchronous Optical Networking (SONET).Computer system 900 may include any suitable communication interface 950for any of these networks, where appropriate. Communication interface950 may include one or more communication interfaces 950, whereappropriate.

In particular embodiments, bus 960 may include hardware, software, orboth coupling components of computer system 900 to each other. As anexample, bus 960 may include an Accelerated Graphics Port (AGP) or othergraphics bus, a controller area network (CAN) bus, an Enhanced IndustryStandard Architecture (EISA) bus, a front-side bus (FSB), aHYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture(ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, amemory bus, a Micro Channel Architecture (MCA) bus, a PeripheralComponent Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serialadvanced technology attachment (SATA) bus, a Video Electronics StandardsAssociation local bus (VLB), or another suitable bus or a combination oftwo or more of these. Bus 960 may include one or more buses 960, whereappropriate.

In particular embodiments, various modules, circuits, systems, methods,or algorithm steps described in connection with the implementationsdisclosed herein may be implemented as electronic hardware, computersoftware, or any suitable combination of hardware and software. Inparticular embodiments, computer software (which may be referred to assoftware, computer-executable code, computer code, a computer program,computer instructions, or instructions) may be used to perform variousfunctions described or illustrated herein, and computer software may beconfigured to be executed by or to control the operation of computersystem 900. As an example, computer software may include instructionsconfigured to be executed by processor 910. In particular embodiments,owing to the interchangeability of hardware and software, the variousillustrative logical blocks, modules, circuits, or algorithm steps havebeen described generally in terms of functionality. Whether suchfunctionality is implemented in hardware, software, or a combination ofhardware and software may depend upon the particular application ordesign constraints imposed on the overall system.

In particular embodiments, a computing device may be used to implementvarious modules, circuits, systems, methods, or algorithm stepsdisclosed herein. As an example, all or part of a module, circuit,system, method, or algorithm disclosed herein may be implemented orperformed by a general-purpose single- or multi-chip processor, adigital signal processor (DSP), an ASIC, a FPGA, any other suitableprogrammable-logic device, discrete gate or transistor logic, discretehardware components, or any suitable combination thereof. Ageneral-purpose processor may be a microprocessor, or, any conventionalprocessor, controller, microcontroller, or state machine. A processormay also be implemented as a combination of computing devices, e.g., acombination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration.

In particular embodiments, one or more implementations of the subjectmatter described herein may be implemented as one or more computerprograms (e.g., one or more modules of computer-program instructionsencoded or stored on a computer-readable non-transitory storage medium).As an example, the steps of a method or algorithm disclosed herein maybe implemented in a processor-executable software module which mayreside on a computer-readable non-transitory storage medium. Inparticular embodiments, a computer-readable non-transitory storagemedium may include any suitable storage medium that may be used to storeor transfer computer software and that may be accessed by a computersystem. Herein, a computer-readable non-transitory storage medium ormedia may include one or more semiconductor-based or other integratedcircuits (ICs) (such, as for example, field-programmable gate arrays(FPGAs) or application-specific ICs (ASICs)), hard disk drives (HDDs),hybrid hard drives (HHDs), optical discs (e.g., compact discs (CDs),CD-ROM, digital versatile discs (DVDs), blue-ray discs, or laser discs),optical disc drives (ODDs), magneto-optical discs, magneto-opticaldrives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes,flash memories, solid-state drives (SSDs), RAM, RAM-drives, ROM, SECUREDIGITAL cards or drives, any other suitable computer-readablenon-transitory storage media, or any suitable combination of two or moreof these, where appropriate. A computer-readable non-transitory storagemedium may be volatile, non-volatile, or a combination of volatile andnon-volatile, where appropriate.

In particular embodiments, certain features described herein in thecontext of separate implementations may also be combined and implementedin a single implementation. Conversely, various features that aredescribed in the context of a single implementation may also beimplemented in multiple implementations separately or in any suitablesub-combination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination may in some cases be excisedfrom the combination, and the claimed combination may be directed to asub-combination or variation of a sub-combination.

While operations may be depicted in the drawings as occurring in aparticular order, this should not be understood as requiring that suchoperations be performed in the particular order shown or in sequentialorder, or that all operations be performed. Further, the drawings mayschematically depict one more example processes or methods in the formof a flow diagram or a sequence diagram. However, other operations thatare not depicted may be incorporated in the example processes or methodsthat are schematically illustrated. For example, one or more additionaloperations may be performed before, after, simultaneously with, orbetween any of the illustrated operations. Moreover, one or moreoperations depicted in a diagram may be repeated, where appropriate.Additionally, operations depicted in a diagram may be performed in anysuitable order. Furthermore, although particular components, devices, orsystems are described herein as carrying out particular operations, anysuitable combination of any suitable components, devices, or systems maybe used to carry out any suitable operation or combination ofoperations. In certain circumstances, multitasking or parallelprocessing operations may be performed. Moreover, the separation ofvarious system components in the implementations described herein shouldnot be understood as requiring such separation in all implementations,and it should be understood that the described program components andsystems may be integrated together in a single software product orpackaged into multiple software products.

Various embodiments have been described in connection with theaccompanying drawings. However, it should be understood that the figuresmay not necessarily be drawn to scale. As an example, distances orangles depicted in the figures are illustrative and may not necessarilybear an exact relationship to actual dimensions or layout of the devicesillustrated.

The scope of this disclosure encompasses all changes, substitutions,variations, alterations, and modifications to the example embodimentsdescribed or illustrated herein that a person having ordinary skill inthe art would comprehend. The scope of this disclosure is not limited tothe example embodiments described or illustrated herein. Moreover,although this disclosure describes or illustrates respective embodimentsherein as including particular components, elements, functions,operations, or steps, any of these embodiments may include anycombination or permutation of any of the components, elements,functions, operations, or steps described or illustrated anywhere hereinthat a person having ordinary skill in the art would comprehend.

The term “or” as used herein is to be interpreted as an inclusive ormeaning any one or any combination, unless expressly indicated otherwiseor indicated otherwise by context. Therefore, herein, the expression “Aor B” means “A, B, or both A and B.” As another example, herein, “A, Bor C” means at least one of the following: A; B; C; A and B; A and C; Band C; A, B and C. An exception to this definition will occur if acombination of elements, devices, steps, or operations is in some wayinherently mutually exclusive.

As used herein, words of approximation such as, without limitation,“approximately, “substantially,” or “about” refer to a condition thatwhen so modified is understood to not necessarily be absolute or perfectbut would be considered close enough to those of ordinary skill in theart to warrant designating the condition as being present. The extent towhich the description may vary will depend on how great a change can beinstituted and still have one of ordinary skill in the art recognize themodified feature as having the required characteristics or capabilitiesof the unmodified feature. In general, but subject to the precedingdiscussion, a numerical value herein that is modified by a word ofapproximation such as “approximately” may vary from the stated value by±0.5%, ±1%, ±2%, ±3%, ±4%, ±5%, ±10%, ±12%, or ±15%.

As used herein, the terms “first,” “second,” “third,” etc. may be usedas labels for nouns that they precede, and these terms may notnecessarily imply a particular ordering (e.g., a particular spatial,temporal, or logical ordering). As an example, a system may be describedas determining a “first result” and a “second result,” and the terms“first” and “second” may not necessarily imply that the first result isdetermined before the second result.

As used herein, the terms “based on” and “based at least in part on” maybe used to describe or present one or more factors that affect adetermination, and these terms may not exclude additional factors thatmay affect a determination. A determination may be based solely on thosefactors which are presented or may be based at least in part on thosefactors. The phrase “determine A based on B” indicates that B is afactor that affects the determination of A. In some instances, otherfactors may also contribute to the determination of A. In otherinstances, A may be determined based solely on B.

What is claimed is:
 1. A system comprising: a light source configured toproduce a first set of pulses of light and a second set of pulses oflight; a first lidar sensor comprising: a first scanner configured toscan the first set of pulses of light along a first scan pattern; and afirst receiver configured to detect scattered light from the first setof pulses of light; a second lidar sensor comprising: a second scannerconfigured to scan the second set of pulses of light along a second scanpattern, wherein the first scan pattern and the second scan pattern areat least partially overlapped in an overlap region; and a secondreceiver configured to detect scattered light from the second set ofpulses of light; and an enclosure, wherein the light source, the firstlidar sensor, and the second lidar sensor are contained within theenclosure.
 2. The system of claim 1, wherein the first and second lidarsensors scan the overlap region in a redundant manner wherein the firstand second lidar sensors together provide a higher density of pixels inthe overlap region than portions of the first and second scan patternslocated outside the overlap region.
 3. The system of claim 1, whereinthe first and second lidar sensors scan the overlap region in aredundant manner wherein if the first lidar sensor experiences a problemor a failure, the second lidar sensor is configured to continue to scanthe overlap region.
 4. The system of claim 1, wherein the overlap regionis an angularly overlapping scan region with an overlap angle of between0° and 40°.
 5. The system of claim 1, wherein the overlap region is atranslationally overlapping scan region with an overlap distance ofbetween 0 cm and 100 cm.
 6. The system of claim 1, wherein the overlapregion is angularly overlapped and translationally overlapped.
 7. Thesystem of claim 1, wherein the first scan pattern and the second scanpattern are overlapped in a crossing manner.
 8. The system of claim 1,wherein the first scan pattern and the second scan pattern areoverlapped in a non-crossing manner.
 9. The system of claim 1, furthercomprising a controller configured to adjust a density of pixels of thefirst or second scan pattern.
 10. The system of claim 9, wherein thecontroller is configured to increase the density of pixels in theoverlap region.
 11. The system of claim 1, wherein the first or secondscan pattern is a hybrid scan pattern comprising a combination of two ormore shapes comprising a sinusoidal shape, a triangle-wave shape, asquare-wave shape, a sawtooth shape, a circular shape, or a piecewiselinear shape.
 12. The system of claim 1, wherein: the first scannercomprises a first galvanometer scanner configured to scan the first setof pulses along a first direction; and the second scanner comprises asecond galvanometer scanner configured to scan the second set of pulsesalong the first direction.
 13. The system of claim 1, wherein the firstscanner and the second scanner together comprise one or moregalvanometer scanners and a polygonal scanner.
 14. The system of claim1, wherein the enclosure comprises a window configured to transmit thefirst set of pulses of light and the second set of pulses of light. 15.The system of claim 1, wherein the light source comprises a laser thatproduces pulses of light that are split to produce the first and secondsets of pulses of light.
 16. The system of claim 1, wherein the lightsource comprises a first laser diode configured to produce the first setof pulses of light and a second laser diode configured to produce thesecond set of pulses of light.
 17. The system of claim 1, wherein thefirst set of pulses of light and the second set of pulses of light eachcomprise pulses having: a wavelength between 1.2 μm and 1.7 μm; a pulserepetition frequency of 100 kHz to 5 MHz; a pulse duration of 10picoseconds to 20 nanoseconds; and a pulse energy of 0.1 μJ to 10 μJ.18. The system of claim 1, wherein the system is configured to generatepoint clouds at a rate between 0.1 frames per second and 1,000 framesper second.
 19. The system of claim 1, wherein the system isincorporated into a vehicle and configured to provide a greater than60-degree view of an environment around the vehicle.
 20. The lidarsystem of claim 1, further comprising a processor configured todetermine a distance from the system to a target based at least in parton a round-trip time of flight for a pulse of light to travel from thesystem to the target and back to the system.